还是要懂点shell(2)

Shell 流程控制

1. IF - ELSE

if
     if condition
     then
	 command1 
 	 command2
      ...
     commandN 
     fi
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi --适用终端输入

if-else

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

2.for 循环

for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

3. while 语句

while condition
do
    command
done

输入与输出重定向

命令说明
command > file将输出重定向到 file。
command < file将输入重定向到 file。
command >> file将输出以追加的方式重定向到 file。
n > file将文件描述符为 n 的文件重定向到 file。
n >> file将文件描述符为 n 的文件以追加的方式重定向到 file。
n >& m将输出文件 m 和 n 合并。
n <& m将输入文件 m 和 n 合并。
<< tag将开始标记 tag 和结束标记 tag 之间的内容作为输入。

EOF 用法

#EOF只是一个分界符,当然也可以用abcde等等替换
当shell遇到<<时,它知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分解符(位于单独一行)
此分界符可以是所定义的任何字符串,其实,不一定要用EOF,只要是‘内容段’中没有出现的字符串,都可以用来替代EOF,完全可以换成abcd之类的字符串,只是一个开始和结束的标志而已

常用举例

交互式程序(命令)<<EOF
command1
command2
...
EOF
 cat << EOF >> cql03.text
> strace iostat vmstat sar
> top uptime
> EOF
[root@www ~]# cat cql03.text 
strace iostat vmstat sar
top uptime
用来注释整段脚本代码。
#!/bin/bash
echo "明天你好"
:<<EOF
echo "床前明月光"
echo "hello word"
EOF
echo "byebye!"
[root@www ~]# sh cql01.sh 
明天你好
byebye!
这段脚本执行时,中间红色部分不会被执行:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值