了解何时在bash脚本中使用空格

时间:2014-01-09 12:45:21

标签: linux bash unix

我想运行一个简单的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脚本可能令人困惑,我想了解为什么空间很重要。

1 个答案:

答案 0 :(得分:6)

有几条规则,其中两个基本规则是:

  • 您必须使用空格分隔命令的所有参数。
  • 您必须使用空格分隔命令和后面的参数。

[这是一个命令(test)。

如果你写["$timer"表示你启动了命令[60, 那当然是不正确的。命令的名称为[

命令的名称始终与命令行的其余部分隔开一个空格。 (您可以使用包含空格的命令,但在这种情况下,您必须在""'')中写入命令的名称。