我想运行一个简单的 bash 计时器并找到了这个 online (用户 brent7890)
#!/usr/bin/bash
timer=60
until [ "$timer" = 0 ]
do
clear
echo "$timer"
timer=`expr $timer - 1`
sleep 1
done
echo "-------Time to go home--------"
我无法复制和粘贴此代码,因为服务器位于另一个网络上。我是这样输入的(如下),但在以“until”开头的行中出现错误。
#!/usr/bin/bash
timer=60
#Note I forgot the space between [ and "
until ["$timer" = 0 ]
do
clear
echo "$timer"
timer=`expr $timer - 1`
sleep 1
done
echo "-------Time to go home--------"
这样的间距在哪里记录?这很重要,这似乎很奇怪。 Bash 脚本可能会令人困惑,我想了解为什么空格很重要。
最佳答案
有几个规则,其中两个基本规则是:
- 您必须用空格分隔命令的所有参数。
- 您必须用空格分隔命令和后面的参数。
[
这里是一个命令(test
)。
如果你写["$timer"
那意味着你启动命令[60
,
那当然是不正确的。命令的名称是 [
。
命令的名称始终与命令行的其余部分用空格分隔。 (你可以有一个带空格的命令,但在这种情况下,你必须在 ""
或 ''
中写下命令的名称)。
关于linux - 了解何时在 bash 脚本中使用空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21020659/