1、for循环语句中的IFS变量如何进行临时更改
#!/bin/bash
IFS_OLD=$IFS
IFS=$'\n'
#此处的"\n是指换行符
for name in $(cat 你要查找的文件目录)
do
echo $name
done
IFS=$IFS_OLD
2、通过双重循环来输出直角梯形
#!/bin/bash
#外循环控制行数
for ((a=1; a<=10; a++))
do
#输出空白的倒三角
for ((b=10; b>=a; b--))
do
echo -n " "
#不换行输出空格
done
#输出矩形
for ((c=1; c<=a+10; c++))
do
echo -n "*"
done
echo ""
#用于每行的换边
done
3、使用while双重循环来制作99乘法表的脚本
#!/bin/bash
a=1
while [ $a -le 9 ]
do
b=1
while [ $b -le $a ]
do
let sum=$a*$b
echo -n -e "$a*$b=$sum\t"
#\t是输出空位符,-n是不换行,-e是输出
let b++
done
echo ""
#此处表示换行输出
let a++
done
4、通过使用cat 文件名 | while read line 循环来分割文本行数,并把行数转存到其他的文本当中
#!/bin/bash
a=0
num=1
#a是指代该文件一共有多少行,num是指代创建第几个分割文件
cat 文件 | while read line
do
let a++
b=$[$a % 50]
if [$b -eq 0 ]
#需求是每50行做一次分割,不满50行的按50行计算,所以这边直接除以50。采用的是变量“b”
then
echo $line >> 文件名$num
let num++
#内容导入新的文件,记得用绝对路径,此外记得num加一
else
echo $line >> 文件名$num
#不满50行的内容导入新的文件,无剩余行数,循环结束
fi
done