day2:特殊符号、shell脚本运行方式区别、条件判断及循环
一.特殊符号
符号 | 说明 | eg |
&& | 前一个命令执行成功才能之后后一个命令 | cd /root && ls |
|| | 前一个命令执行执行成功则不执行后一个命令;前一个执行失败则执行后一个命令 | cd qwerty || ps |
两者结合 | 实现逻辑或 | [ a == b ] && echo "a=b" || echo "a!=b" |
二.shell脚本的运行方式及其区别
序号 | 运行方式 | 说明 | 特点 |
1 | sh/bash main.sh | 该种方式运行的脚本不需要赋予脚本可执行权限也可执行 | 这两种方式在执行脚本时,都是打开一个新的子shell在其中执行脚本,如果在脚本中执行了cd /root 类似的命令或操作,在输入脚本执行命令的窗口中是不会切换到/root目录下即在该窗口无法看到效果相关 |
2 | ./main.sh | 需要可执行权限 | |
3 | source main.sh | 不要可执行权限 | 这两种方式是在当前shell执行脚本,如果在脚本中有cd /root或export的变量,可以在当前shell生效 |
4 | . ./main.sh |
也不要可执行权限 (注意两个点之间有空格) |
三.其他
1. wc -lt统计行数;
who 查看已登录的用户信息;
cut -d分隔符 -f列数 输出以指定分隔符筛选的指定列信息,-f2,3选择多列;
tr -s " " 输出多余空格;注意双引号之间有空格
2.for循环格式
for i in `ls /root`
do
echo $i
done
3.while循环格式
while [条件]
do
command
done
4.case
case $num in
[0-9])
echo “属于0-9的$num”;;
100)
echo 100qqq;;
*)
echo $num;;
esac