运行 使用 unix 的简单程序 shell
Run simple programme using unix shell
我是 unix 及其开发的新手。在我的 new.sh
脚本中,我写了
$USERNAME=user
$PASSWORD=sekrit
echo $USERNAME
和 运行 new.sh
使用 bash new.sh
但是我得到以下错误
new.sh: line 1: =user: command not found
new.sh: line 2: =sekrit: command not found
我如何 运行 该命令并在终端中打印用户名变量?
USERNAME
是变量的名称。 $USERNAME
是替换(又名内容,又名值)。由于 USERNAME
为空,您实际上尝试 运行 一个名为 =user
的命令,这是错误消息告诉您的内容。
删除 $USERNAME=...
中的 $ 即可。
与Jens notes in his 一样,问题是对变量的赋值没有前缀$
,所以:
USERNAME=user
PASSWORD=sekrit
是写你想要的方式。你得到一个错误,因为 USERNAME 没有设置,所以在展开后,shell 将命令看成:
=user
=sekrit
它在系统上找不到这样的命令(这并不奇怪)。但是,请注意,如果您之前写过:
USERNAME=archipelago
PASSWORD=anchovy
然后是行:
$USERNAME=user
$PASSWORD=sekrit
相当于写作:
archipelago=user
anchovy=sekrit
你可以通过 运行 set
看到没有参数;它会显示 shell 中设置的所有变量的值。您可以搜索 USERNAME 和 archipelago 等词,看看发生了什么。
现在你已经学会了,算了吧。您需要使用它的次数非常有限(但在您需要它的那些罕见的——非常罕见的——场合下它很方便)。
出于所有实际目的,不要在 shell 中变量赋值的左侧写 $
。
我是 unix 及其开发的新手。在我的 new.sh
脚本中,我写了
$USERNAME=user
$PASSWORD=sekrit
echo $USERNAME
和 运行 new.sh
使用 bash new.sh
但是我得到以下错误
new.sh: line 1: =user: command not found
new.sh: line 2: =sekrit: command not found
我如何 运行 该命令并在终端中打印用户名变量?
USERNAME
是变量的名称。 $USERNAME
是替换(又名内容,又名值)。由于 USERNAME
为空,您实际上尝试 运行 一个名为 =user
的命令,这是错误消息告诉您的内容。
删除 $USERNAME=...
中的 $ 即可。
与Jens notes in his $
,所以:
USERNAME=user
PASSWORD=sekrit
是写你想要的方式。你得到一个错误,因为 USERNAME 没有设置,所以在展开后,shell 将命令看成:
=user
=sekrit
它在系统上找不到这样的命令(这并不奇怪)。但是,请注意,如果您之前写过:
USERNAME=archipelago
PASSWORD=anchovy
然后是行:
$USERNAME=user
$PASSWORD=sekrit
相当于写作:
archipelago=user
anchovy=sekrit
你可以通过 运行 set
看到没有参数;它会显示 shell 中设置的所有变量的值。您可以搜索 USERNAME 和 archipelago 等词,看看发生了什么。
现在你已经学会了,算了吧。您需要使用它的次数非常有限(但在您需要它的那些罕见的——非常罕见的——场合下它很方便)。
出于所有实际目的,不要在 shell 中变量赋值的左侧写 $
。