补充(echo用法、for循环、continue、break、IFS字段分隔符)

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所包含的所有目录以及其中的所有可执行文件

猜你喜欢

转载自blog.csdn.net/ItookapillinNJ/article/details/114597249