shell while循环
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell while循环相关的知识,希望对你有一定的参考价值。
if [ ! -e $b ]
then echo "File $b not found!Do you want to create a new file named $b?\n1.Yes\n2.No\n"
read c
if [ $c = "1" ]
then touch $b
echo "File $b created success."
elif [ $c = "2" ]
then continue
else echo "Error!Please choose 1 or 2."
fi
while [ $c != "1" && $c != "2" ]
do
echo "Do you want to create a new file named $b?\n1.Yes\n2.No\n"
read c
if [ $c = "1" ]
then touch $b
echo "File $b created success."
elif [ $c = "2" ]
then continue
else echo "Error!Please choose 1 or 2."
fi
done
elif [ -d $b ]
then
cd $b
ls
else cat $b
fi
while 报错不能执行
把
while [ $c != "1" && $c != "2" ]改成
或者
while [ $c != "1" -a $c != "2" ]另外,如果像这样是输入1或者2,建议换成 select 语句。
参考技术A &&不是在test[]中用的,他是在两个[]之间使用的,如:[] && []
如果你只想使用一个条件测试的话可以这样
[ -a ]
你这个错误属于语法错误! 参考技术B while [ $c != "1" && $c != "2" ] 改成
while [[ $c != "1" ] && [ $c != "2" ]]本回答被提问者采纳 参考技术C 变量b是什么东西?你一上来就来个if [ ! -e $b ] 你让脚本怎么继续?
shell while循环与until循环
while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环。
unti 循环和 while 循环恰好相反,当判断条件不成立时才进行循环,一旦判断条件成立,就终止循环,until 的使用场景很少,一般使用 while 即可。
Shell while 循环的用法如下:
while循环的用法 | until循环的用法 | 说明 | ||||
---|---|---|---|---|---|---|
while condition
|
until condition
|
|
||||
举栗 | 脚本 | 结果 | ||||
计算从 m 加到 n 的值 |
|
while的判断条件与until的判断条件恰好相反。。 |
||||
实现一个简单的加法计算器,用户每行输入一个数字,计算所有数字的和 |
|
运行结果: 12↙ 在终端中读取数据,可以等价为在文件中读取数据,按下 Ctrl+D 组合键表示读取到文件流的末尾,此时 read 就会读取失败,得到一个非 0 值的退出状态,从而导致判断条件不成立,结束循环。 |
以上是关于shell while循环的主要内容,如果未能解决你的问题,请参考以下文章