我尝试了以下两种方法来获取属性文件
#!/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.
我对脚本和环境都很陌生。请让我知道我在这里缺少什么?
答案 0 :(得分:12)
要通过点.
命令找到,该文件必须是可读的(不一定是可执行的)并且在您的PATH上(并且为了安全可用,它必须包含shell脚本)。
如果文件在当前目录中且.
(目录,而不是命令)不在您的PATH上,您可以使用:
. ./import.properties
否则,您需要指定文件的绝对名称或文件的相对名称,或将文件移动到PATH上的方便目录。
备选表示法source import.properties
失败,因为您不在C Shell中,并且因为您没有使用Bash。 C Shell中的source
命令与Bourne shell中的dot命令类似。 Bash允许它作为dot命令的同义词(或dot命令作为源的同义词)。由于找不到source
,我们可以放心地假设您的shell不支持它作为内置函数。