我想运行一个简单的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--------"
我无法复制和粘贴此代码,因为服务器位于另一个网络上。我输入就像这样(下面),并在以&#34开头的行上出现错误,直到"。
#!/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脚本可能令人困惑,我想了解为什么空间很重要。
答案 0 :(得分:6)
有几条规则,其中两个基本规则是:
[
这是一个命令(test
)。
如果你写["$timer"
表示你启动了命令[60
,
那当然是不正确的。命令的名称为[
。
命令的名称始终与命令行的其余部分隔开一个空格。 (您可以使用包含空格的命令,但在这种情况下,您必须在""
或''
)中写入命令的名称。