gpt4 book ai didi

linux - 直到循环没有按预期工作

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:16 25 4
gpt4 key购买 nike

我目前正在学习 Linux,作为家庭作业,我们必须创建一些基本的 shell 脚本。没有什么特别复杂的,但是这个让我头疼。这是我的代码:

    until [ "$toPrint" == 'fin' ]
do
echo "Enter file name to print out :" ; read toPrint
sh ./afficher.sh "$toPrint"
done

基本上,我有另一个名为 afficher.sh 的脚本(我是法国人,所以不介意使用的是法语),它读取作为参数获取的任何文件名。然而,在我输入“fin”的那一刻,一切都应该停止,除了它仍然试图打印名为“fin”的文件。我在 Internet 上阅读了一些关于 until 循环的内容,一旦它变为 True,它就应该停止,这不是我的情况......

最佳答案

就我个人而言,我会这样实现——使用 while 循环,而不是 until 循环,并分别明确地检查退出条件:

while true; do
echo "Enter file name to print out :" ; read toPrint
[ "$toPrint" = fin ] && break
sh ./afficher.sh "$toPrint"
done

如果你真的想使用循环的条件,你可以这样做:

while echo "Enter file name to print out :";
read toPrint &&
[ "$toPrint" != fin ]; do
sh ./afficher.sh "$toPrint"
done

...但就我个人而言,出于审美原因,我不太喜欢这个。

关于linux - 直到循环没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30203241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com