shell 脚本语法大全

 概念 

          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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值