gpt4 book ai didi

linux - 如何检查CSH中是否设置了环境变量?

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:41 25 4
gpt4 key购买 nike

我正在编写一个 CSH 脚本,我需要在其中检查是否在终端中设置了环境变量 XYZ 或 ABC。

如果设置了这些变量,那么我需要检查是否有任何一个设置为 FALSE"。我正在尝试如下:

if ( !($?ABC) ) then

echo "variable is not set"

else if ( $ABC == "FALSE") then

echo "variable set to false"

endif

但 CSH 首先是替换变量。所以我遇到了以下错误:

ABC : undefined variable

你能帮我解决这个问题吗?

最佳答案

如果您在脚本中定义变量,应该没有问题。

set ABC = FALSE
if ( ! $?ABC ) then

echo "variable is not set"

else if ( $ABC == "FALSE") then

echo "variable set to false"

endif

echo "ABC is still: $ABC"

输出:

variable set to false
ABC is still: FALSE

另外,如果您使用 setenv 在脚本外部定义一个变量,它将与您的脚本一起工作

setenv ABC FALSE
./your_script.sh

输出:

variable set to false
ABC is still: FALSE

更好的方法是使用命令行参数。将变量传递给脚本是比 setenv 更好的解决方案。

关于linux - 如何检查CSH中是否设置了环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57140292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com