linux shell脚本基础知识学习_linux shell

Shell脚本:

1、#!  指定脚本执行的shell
2、# 注释
3、命令或语法结构
echo "输入内容"
echo 输出空行

执行:

1、shell 脚本
   sh example
2、给shell脚本执行权限
   chmod u+x example

案例:example  sysinfo.sh
 
3abc  x  不能以数字开头
abc3
ABC3

环境变量-大写
 
命令执行结果赋值变量使用 命令替换符 ``
PATH=$PATH:/root/shell.example

ls -l /etc/inittab /etc/fstab /etc/services
  $0      $1           $2         $3

$0-$9
$*  /etc/inittab /etc/fstab /etc/services
$#  3
$$  PID
$?  命令返回值   0  非0

案例:special.var
 
read  案例:read

expr 运算符前后要空格,乘号*要加转义符
案例:expr

test
1、字符串测试    是否相等、是否为空
2、整数测试   相等、大于、小于
3、文件测试   文件类型、文件权限、文件存在、文件大小

单支循环:if/then
if 测试条件
then
执行操作
fi

APACHE=`/usr/bin/pgrep httpd`

if [ "$APACHE" = "" ]
then
        /etc/rc.d/init.d/httpd start
fi

sh -x 脚本      在执行时显示执行过程   +或++ 注释
*/2 12-14 * 3-6,9-12 1-5 /root/shell-example/apache.test

 
双支循环:if/else

if 测试语句
then
真: 操作
else
假: 操作
fi

案例:test.apache  autobak.sh
 
tar -cf 新文件名 目录

多支循环: if/elif
案例: if_else  判断文件类型
条件连接 -o 逻辑或or  -a 逻辑与and

exit退出语句
if [ "$#" != 2 ]
then
        echo " MUST two parm!"
fi
echo "this is a test"
echo $1 $2

sh exit first
条件为真退出 exit 0    条件为假退出 exit 1 非0
添加exit语句 sh exit first

for循环
案例:for  自动将用户踢出系统 killuser.sh

awk -F域分隔符 '命令'     默认分隔符就是空格
ps -le | grep httpd | awk '{print $4}'
awk -F: '$3==0 {print $1}' /etc/passwd
统计系统用户数
awk -F: '$3>=500 {print $1}' /etc/passwd | grep -v nfsnobody | wc -l
awk -F: 'length($2)==0 {print $1}' /etc/shadow

case    案例:case    /etc/rc.d/init.d/httpd

while   条件为真一直循环   案例:while  useradd.sh
until   条件为假一直循环

echo 密码 | passwd --stdin 用户名

while计数循环

Windows写脚本会有不可识别控制符要处理

dos2unix 脚本

时间: 2024-11-03 13:02:04

linux shell脚本基础知识学习_linux shell的相关文章

shell编程基础知识小结_linux shell

1.文件类型介绍linux系统中主要包括以下七种文件类型: d 目录 - 普通文件 l 符号链接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件 2.正则表达式正则表达式在shell编程中非常重要. 从一个文件或命令输出中抽取或过滤文本时.可使用正则表达式(RE),正则表达式是一些特殊或不很特殊的字符串模式的集合. 基本的元字符集:^ 只匹配行首.$ 只匹配行尾.* 一个单字符后紧跟*,匹配0个或多个此单字符.[] 匹配[]内字符,可以是一个单字符,也可以是字符序列.可以使用

Linux shell脚本实现CPU预警_linux shell

如果CPU占用率持续达到80以上则调用打印java线程占用率堆栈的脚本,见https://github.com/oldratlee/useful-shells/blob/master/show-busy-java-threads.sh,具体用法见他的github wiki! #!/bin/bash #cpu idle percent cpu_idle=`top -b -d 1 -n 2 | grep Cpu | awk 'NR>1{print $5}' | cut -f 1 -d ".&q

如何短时间内学好一门语言 shell脚本语言为例_linux shell

这里我分享的是学习计算机shell脚本语言的方法,可能你不是在软件行业,但我建议也看看,因为我并没有讲什么技术细节,主要分享的是提炼出的通用性方法,这是对学习任何东西都是有用的. 当然,如果你好奇心足够强的话,建议也可以按照下面的方法来尝试一下,因为科学家已经预测:以后的世界就是一个软件定义的世界,机器人和人工智能会非常普及,而支持它们运行的除了我们看得见的硬件,最关键的就是里面的软件. 所以,学会编程以后就不仅仅只是软件从业人员需要掌握的技能,任何人都可以掌握它,既可以用它来不断提高工作效率,

shell脚本nicenumber实现代码_linux shell

Given a number, shows it in comma-separated form.Expects DD and TD to be instantiated. Instantiates nicenum. or, if a second arg is specified, the output is echoed to stdout. 废话不多说,首先是 #!/bin/sh # nicenumber -- Given a number, shows it in comma-separ

什么是Shell?Shell脚本基础知识详细介绍_linux shell

Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好L

Linux Shell脚本查看NUMA信息_linux shell

Nova在NFV场景下会提供NUMA相关高级特性,这里提供一个脚本查看计算节点的NUMA相关信息. #!/bin/bash function get_nr_processor() { grep '^processor' /proc/cpuinfo | wc -l } function get_nr_socket() { grep 'physical id' /proc/cpuinfo | awk -F: '{ print $2 | "sort -un"}' | wc -l } func

Linux Shell脚本编程初体验_linux shell

通常,当人们提到"shell脚本语言"时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言.脚本语言是与计算机交流的另外一种途径.使用图形化窗口界面(不管是windows还是linux都无所谓)用户可以移动鼠标并点击各种对象,比如按钮.列表.选框等等.但这种方式在每次用户想要计算机/服务器完成相同任务时(比如说批量转换照片,或者下载新的电影.mp3等)却是十分不方便.要想让所有这些事情变得简单并且自动化,我们可以使用shell脚本. 某些编程语言,像

Shell脚本实现ftok函数_linux shell

"古老的 Sys IPC 仍然有好几种有效的用途.三种 IPC 对象是共享内存,信号灯和消息."当使用到 IPC 的这些对象时,你需要为每个对象创建一个 Key.虽然理论上来说我们在定义一个 IPC Key 的时候可以使用任意自己喜欢的 Key ,但为了避免与其他的程序产生定义重复,在 UNIX/Linux 中一般会使用 key_t ftok(const char *path, int id) 函数来生成一个比较唯一的 Key 值.然而,"每个人都讨厌 System V IP

对Shell 脚本加密的方法_linux shell

用shell脚本对系统进行自动化维护,简单,便捷而且可移植性好. 但shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等. 同样,在shell脚本运行时会也泄露敏感信息. shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件. 这就很好的解决了上述问题. shc 安装 yum -y install shc 使用方法: shc -r -f script-name 注意:要有-r选项, -f 后跟要加密的脚本名. 运行后会生成两个文件