echo用法
echo -n 表示不换行输出
echo -e 输出转义字符,将转义后的内容输出到屏幕上
常用的转义字符
- \b:转义后相当于按退格键(backspace),但前提是"\b"后面存在字符;"\b"表示删除前一个字符,"\b\b"表示删除前两个字符。
- \c:不换行输出,在"\c"后面不存在字符的情况下,作用相当于 echo -n; 但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出。
- \n:换行,被输出的字符从"\n"处开始另起一行。
- \f:换行,但是换行后的新行的开头位置连接着上一行的行尾;
- \v:与\f相同;
- \t:转以后表示插入tab,即横向制表符;
- \r:光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符;但是当"\r"后面不存在任何字符时,"\r"前面的字符不会被覆盖
- \:表示插入""本身
for循环
格式:
三种
for i in {1..10} {1..10..2}
或
for i in $(seq 1 10) $(seq 1 2 10)
或
for ((i=1; i<=10; i++)) ((i=1; i<=10; i+=2))
do
echo $i
done
for ((i=1; i<=10; i++));do echo $i;done
break
break跳出单个循环
for ((a=1; a<=5; a++))
do
echo "outer loop: $a"
for ((b=1; b<=50; b++))
do
if [ $b -eq 5 ]
then
break
fi
echo "inter loop: $b"
done
done
continue
continue中止某次循环中的命令,但不会完全中止整个命令
for ((a=1; a<=15; a++))
do
if [ $a -gt 5 ] && [ $a -lt 10 ]
then
continue
fi
echo "current value: $a"
done
IFS字段分隔符
默认包含 空格,制表符,换行符
set | grep IFS
IFS=$' \t\n'
IFS=:
IFS=','
IFS.OLD=$IFS
IFS=$'\n'
...
IFS=$IFS.OLD
输出环境变量PATH所包含的所有目录以及其中的所有可执行文件