【发布时间】:2012-11-29 06:26:41
【问题描述】:
我在 SuSe Linux 的 C shell 中设置一个环境变量 - 比如 ABC。
我的问题,下面两个命令有什么区别吗?
$setenv ABC "1"$setenv ABC 1
在这两种情况下,echo 给了我相同的结果。
即
$echo $ABC
1
对我来说,两者看起来都是一样的。但我想要确认继续进行。
【问题讨论】:
我在 SuSe Linux 的 C shell 中设置一个环境变量 - 比如 ABC。
我的问题,下面两个命令有什么区别吗?
$setenv ABC "1"$setenv ABC 1在这两种情况下,echo 给了我相同的结果。
即
$echo $ABC
1
对我来说,两者看起来都是一样的。但我想要确认继续进行。
【问题讨论】:
不,您的示例没有区别。但是csh 是正确的considered harmful,所以算了吧。请改用bash 或zsh。
我的个人偏好是使用 Posix /bin/sh 或 /bin/bash 作为脚本,zsh 作为我的交互式登录 shell
【讨论】:
简而言之,如果分配给环境变量的值包含空格,则需要使用引号。
这是link,其中包含有关 shell 和环境变量的更多信息。在页面上搜索 setenv。
【讨论】: