我尝试了以下两种方式来获取属性文件
#!/bin/sh
. import.properties
echo $USER_ID
echo $INPUT_FILE
它说 :
./test.sh[3]: import.properties: not found
尝试使用
source import.properties
时它给出的信息是:./test.sh[3]: source: not found.
我对脚本和环境很陌生。请让我知道我在这里缺少什么?
最佳答案
通过点 .
找到命令,该文件必须是可读的(不一定是可执行的)并且在您的 PATH 中(并且为了安全使用,它必须包含 shell 脚本)。
如果文件在您的当前目录中并且 .
(目录,而不是命令)不在您的 PATH 中,您可以使用:
. ./import.properties
否则,您需要指定文件的绝对名称或文件的相对名称,或者将文件移动到 PATH 上方便的目录。
替代符号,
source import.properties
失败是因为您不在 C Shell 中,并且因为您没有使用 Bash。 source
C Shell 中的命令类似于 Bourne Shell 中的 dot 命令。 Bash 允许它作为 dot 命令的同义词(或 dot 命令作为 source 的同义词)。自 source
没有找到,我们可以放心地假设您的 shell 不支持它作为内置。
关于shell - 无法在 shell 脚本中获取属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8919350/