我正在Windows Linux子系统上运行Ubuntu,并且我有一个要运行的bash脚本,该脚本需要访问系统环境变量。具体来说,我使用以下命令在系统上定义了一个环境变量:
export SLACK_LEGACY_API_TOKEN="Insert Token Here"
然后我定义一个名为slack.sh
的文件,如下所示:
#!/usr/bin/env bash
echo $SLACK_LEGACY_API_TOKEN
然后我用source ./slack.sh
运行此脚本。当我运行此命令时,它只是打印出一个空行-它没有获取环境变量的值。
我在.sh文件中尝试了不同的语法来引用环境变量,例如"$SLACK_LEGACY_API_TOKEN"
和${SLACK_LEGACY_API_TOKEN}
,但结果相同。我还使用/slack.sh
和. ./slack.sh
运行了脚本,但结果相同。
如何获取脚本来查看$SLACK_LEGACY_API_TOKEN
?
答案 0 :(得分:0)
正如@chepner在我的问题中的评论中提到的那样,此问题是由在Windows环境中定义.sh
文件引起的。这导致文件被保存为DOS行尾,这导致了脚本问题。完全在Linux环境中重新定义文件即可解决该问题。