shell 脚本语法大全

mac2024-03-06  25

 概念 

          1、shell 脚本第一行 #!后面的!来告诉shell用哪个shell来运行脚本,可以使用base shell

          2、环境变量:$ 符号

          3、用户变量 : 区分大小写  

group=mysql user=mysql

 

 语法:

 

1、cat << EOF > /etc/my.cnf

EOF 结束符可将指定内容输入到指定的文件中 cat << EOF > /etc/my.cnf [mysqld] port=3306 !includedir /etc/my.cnf.d EOF

2、命令替代

可以将命令输出赋值给变量 反引号(``)和$() password=`cat $basedir/initinfo | grep password | awk -F " " {'print $NF'}`

3、if else-if else 

if else-if else if else-if else 语法格式: if condition1 then command1 elif condition2 then command2 else commandN fi

4、文件比较

1、检测目标 -d检测目录是否存在 2、检测对象 -e比较文件和目录是否存在 3、检测文件 -e比较可用于文件目录。确定指定对象为文件,必须用 -f 比较 #!/bin/bash item_name=$HOME if [-e $item_name] then ..... if[-e $item_name] then...

5、使用双括号

(()) [[]] ()里面的特殊字符可以不用转义 []: 提供了模式匹配 if[[$SURE == r*]] 是否已r 开头

6、sed 

s: / 第二个字符串代替第一个字符串 e: sed命令上执行多个命令,命令之间用 分号 隔开 替换选项 g: 新文本将会替换所有匹配的旧文本 p: 原先行的内容要打印出来 w file:将替换结果写在文件中 替换字符 / 转义 d: 删除行 sed 'number 1/d' data6.txt // sed 编辑器不会删除原始文件,只是在sed 编辑器中消失 插入和附加文本 i: 会在指定的行前添加一行 a: 会在指定的行后添加一行 echo "test line 1" | sed 'i\Test Line 1' 修改行

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

最新回复(0)