我正在运行一个名为setenv.sh
的脚本,用于设置环境变量。其中一行是:
config.dir=/Users/arianna/work/next/conf
运行它后,我收到一条错误消息:config.dir=/Users/arianna/work/next/conf: No such file or directory
我很困惑,因为该目录存在。我可以复制粘贴并粘贴到其中。
我在这里迷住了。怎么了?
答案 0 :(得分:1)
在变量中使用.
是引起问题的原因;在bash中,它用作环境变量和/或仅在某些可以将其识别为常规变量的shell中有效。除非您绝对需要使用点,否则我建议您使用下划线。
config_dir=/Users/arianna/work/next/conf
如果要将其用作环境变量或检索它,则可以执行以下操作:
config_dir=$( env 'config.dir=/Users/arianna/work/next/conf' \
awk 'BEGIN {print ENVIRON["config.dir"]}' )
echo "$config_dir"
说明: