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

bee*_*tri 6 unix shell

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

#!/bin/sh
. import.properties
echo $USER_ID
echo $INPUT_FILE
Run Code Online (Sandbox Code Playgroud)

它说 :

./test.sh[3]: import.properties:  not found
Run Code Online (Sandbox Code Playgroud)

当尝试使用source import.properties它时给出的消息为:

./test.sh[3]: source:  not found.
Run Code Online (Sandbox Code Playgroud)

我是脚本和环境的新手.请让我知道我在这里缺少什么?

Jon*_*ler 12

要通过dot .命令找到,该文件必须是可读的(不一定是可执行的)并且在您的PATH上(并且为了安全可用,它必须包含shell脚本).

如果文件位于当前目录中且.(目录,而不是命令)不在PATH上,则可以使用:

. ./import.properties
Run Code Online (Sandbox Code Playgroud)

否则,您需要指定文件的绝对名称或文件的相对名称,或将文件移动到PATH上的方便目录.

替代表示法source import.properties失败,因为您不在C Shell中,并且因为您没有使用Bash.所述source在C Shell命令是在Bourne shell的点命令的类似物.Bash允许它作为dot命令的同义词(或dot命令作为源的同义词).由于source未找到,我们可以安全地假设您的shell不支持它作为内置.