无法在shell脚本中获取属性文件

时间:2012-01-19 00:04:28

标签: shell unix

我尝试了以下两种方法来获取属性文件

#!/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.

我对脚本和环境都很陌生。请让我知道我在这里缺少什么?

1 个答案:

答案 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不支持它作为内置函数。