所以假设我有一个名为test.sh的shellscript/bash脚本
有:
#!/bin/bash
TESTVARIABLE=hellohelloheloo
./test2.sh
Run Code Online (Sandbox Code Playgroud)
我的test2.sh看起来像这样
#!/bin/bash
echo ${TESTVARIABLE}
Run Code Online (Sandbox Code Playgroud)
这不起作用.我不想将所有变量作为参数传递,因为imho这是过度的.有不同的方式吗?
我正在使用环境文件来配置网络应用程序。最近我需要导出这样的值:
RUBYOPT='-W:no-derecated -W:no-experimental'
Run Code Online (Sandbox Code Playgroud)
test.env它包含在具有其他配置变量的文件中。
我使用此命令导出文件中的所有环境变量:
export $(cat test.env | xargs)
Run Code Online (Sandbox Code Playgroud)
使用上面的值,该命令会给出以下错误:
-bash: export: `-W:no-experimental'': not a valid identifier
Run Code Online (Sandbox Code Playgroud)
我可以通过复制粘贴输出来导出值,cat test.env | xargs但在像上面这样的单个命令中它不起作用。
一些测试表明,当值包含空格及其后的冒号时,就会出现问题:。
我需要什么样的引用魔法才能使我的环境文件再次工作?
bash shell environment-variables quoting command-line-arguments