循环语句,重定向,函数,外部脚本
循环
格式一:
for…in…do…done
for i in a 2 cc
do
echo $i
done
输出:a 2 cc
for i in $(seq 1 10)
do
echo $i
done
输出 1 ~ 10
格式二:
for ((…;…;…)) do…done
for ((i=1; i<=10; i++))
do
echo $i
done
break命令与continue命令
跳出当前一层循环,注意与C/C++不同的是:break不能跳出case语句。
多组读入注意文件终是Ctrl + d
for (( i=1;i<=10;i++ ))
do
if [ `expr $i % 2` '==' 0 ]
then
continue
fi
echo $i
done
关闭进程:top命令找到进程的PID, kill -9 PID即可关掉此进程
重定向:
重定向命令列表
\[\begin{array}{|c|c|c|} \hline 命令&说明\\ \hline command > file&将stdout重定向到file中\\ \hline command < file&将stdin重定向到file中\\ \hline command >> file&将stdout以追加方式重定向到file中\\ \hline command n> file&将文件描述符n重定向到file中\\ \hline command n>> file&将文件描述符n以追加方式重定向到file中\\ \hline \end{array} \]重定向输出:
echo -e "Hello \c" > output.txt # 将stdout重定向到output.txt中
echo "World" >> output.txt # 将字符串追加到output.txt中
read str < output.txt # 从output.txt中读取字符串
echo $str # 输出结果:Hello World
重定向输入:
[csp@localhost tmp]$ cat test.sh
#! /bin/bash
echo -e "Hello \c" > output.txt
echo -e "CSP\c" >> output.txt
read str < output.txt
echo $str
输出:
Hello CSP
例【重定向的读入重定向输出】:
add.sh:
[csp@localhost tmp]$ cat add.sh
#! /bin/bash
read a
read b
echo $(expr $a '+' $b)
=========================================
input.txt:
12
12
=========================================
测试:
[csp@localhost tmp]$ bash add.sh < input.txt > output.txt
[csp@localhost tmp]$ cat output.txt
24
外部脚本:
source filename 用法相当于C++中 include
标签:shell,重定向,echo,语法,hline,file,output,txt From: https://www.cnblogs.com/Aidan347/p/17041395.html