\ :转义字符
``:反括号中的是先执行的命令
“ ”:弱引用,输出变量的内容
"" :弱引用 [root@dnsserver ~]# name=westos [root@dnsserver ~]# echo "$name" westos ‘ ‘强引用,和变量无关[root@dnsserver ~]# echo '$name' $name 引用变量的两种方法
$变量命
${变量名}
seq命令:用于产生从某个数到另一个数之间的之间的所有整数
语法:seq【选项】 --尾数 seq【选项】 --首数 尾数 seq【选项】 --首数 增量 尾数
选项: -f 使用printf样式的浮点格式 -s 使用指定字符串分隔数字 -w 在列前添加0让宽度相等 命令回传码与&&和|| 命令回传码为0时候,代表上一个命令正确执行 command1 && command2 :command1正确执行才去执行命令2,否则不执行(第一个的命令回传码是0,则执行第二个命令) command1 || command2 :command1执行错误则开始执行命令2,否则不执行(第一个命令回传码不是0,则执行第二个命令) 分析ls /tmp/abc || mkdir/tmp/abc && touch/tmp/abc/hes 假设/tmp/abs存在,则命令回传码是0,第一个命令执行成功,不执行第二条命令mkdir/tmp/abc,此时创建touch /tmp/abs/hes 假设/tmp/abs不存在,则命令回传码不是0,第一条命令执行失败,执行2,成功,执行3 总结:先与后或(与或门) ----------------- ping -w -c ip:只ping一次ip地址 --------------------- cut:用于分割一行字符 选项: cut -d '分隔符' -f 选取第几段 cut -c 选取的字符范围 [root@dnsserver ~]# echo $PATH | cut -d ':' -f 4 /usr/bin ------------------------------ 通过一个变量修改一个用户的密码 echo 密码 | passwd --stdin 用户名 --------------------------- 判断式[]总结: 1.中括号中的每个组件都要用空格分割‘ 2.中括号的变常量,最好用双引号括起来 ,保证不会出现比较元素过多的错误 ------------------------------------------------------------------------------------------------- echo -n: echo -n 不换行输出 $echo -n "123" $echo "456" 最终输出 123456 而不是 123 456
-e:激活转义字符。使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: •\a 发出警告声; •\b 删除前一个字符; •\c 最后不加上换行符号; •\f 换行但光标仍旧停留在原来的位置; •\n 换行且光标移至行首; •\r 光标移至行首,但不换行; •\t 插入tab; •\v 与\f相同; •\\ 插入\字符; •\nnn 插入nnn(八进制)所代表的ASCII字符;
----------------------------------------------- 计算是否为0 [-z "$a" ] a为0 $?返回0 a非0返回非0数 ------------------------ 数字比较运算符 -eq:是否相等 -ne:不等 -lt:小于 -le:小于等于 -gt:大于 -ge:大于或者等于 ----------------------------- 文件运算比较符 -e filename :file存在则为真 -d filename -f filename -L filename :file为符号链接,则为真 -r :file为可读文件,则为真 -w :file文件可写为真 -x :file文件可执行则为真 filename1 -nt filename2 :前新为真 -ot 后新为真
-------------------------------------- for ...do...done语句格式: for 变量 in 内容 do 语句段 done 例子:输出1到10之间的奇数 #!/bin/bash for in do done for num in $( seq 1 2 10) do echo $num done --------------------------------- for do down for ( (初始值;限制值;执行步长) ) do 程序段 down --------------------------------- while [condition ] do 程序段 done 当条件成立时候,执行循环 ----------------------------- util [condition] do 程序 done 当条件不成立的时候,执行循环 -------------------- #一个条件的判断
if [条件判断];then
当条件判断式1成立的,进行的操作
else
不成进行的操作
fi
---------------------------------
对个条件的判断
if[条件判断1] ;then
操作1
elif[条件判断2]
操作2
else
操作3
fi
-------------------------------------------------------------------------------
case ...esac语句
case $变量名称 in
"第一个变量内容" )
程序段
;;
“第二个变量内容”)
程序段
;;
*)
exit 1
;;
esac
、
