我有一个脚本,使用sh shell。我在使用source命令的行中得到一个错误。它似乎源不包括在我的sh shell。
如果我显式地尝试从shell运行source,我得到:
sh: 1: source: not found
我是否应该安装“source”?我的sh版本是否错误?
我有一个脚本,使用sh shell。我在使用source命令的行中得到一个错误。它似乎源不包括在我的sh shell。
如果我显式地尝试从shell运行source,我得到:
sh: 1: source: not found
我是否应该安装“source”?我的sh版本是否错误?
当前回答
Bourne shell (sh)使用PATH定位源<文件>。如果你试图获取的文件不在你的路径中,你会得到错误“文件未找到”。
试一试:
source ./<filename>
其他回答
你有两个选择,从纯shell切换到bash,启用bash功能,包括source。 https://superuser.com/questions/1220159/bash-prompt-variables-not-working/1764353#1764353
或者使用。而不是用这种形式的源
. ~ / .your_file_name
例如
我们走吧。~ / . bashrc
请考虑在多特和蒂尔达之间留个位置。Tilda指的是主目录,如果你的文件位于主目录上方的某个位置,请使用/中的绝对地址
Bourne shell (sh)使用PATH定位源<文件>。如果你试图获取的文件不在你的路径中,你会得到错误“文件未找到”。
试一试:
source ./<filename>
源代码是内置的bashism。简单地写成。代替。
e.g.
. $FILE
# OR you may need to use a relative path (such as in an `npm` script):
. ./$FILE
https://wiki.ubuntu.com/DashAsBinSh#source
当我试图从#Jenkins执行shell调用源命令时,我遇到了这个错误。
源profile.txt 或 源profile.properties
替换源命令是使用,
。。/ profile.txt 或 。。/ profile.properties
注意:两个点之间有一个空格。
在Bourne shell(sh)中,使用。命令获取文件的源
. filename
在某些操作系统/环境(Mac OS, Travis-CI, Ubuntu,至少),这必须是:
. ./filename
(以下是Adrien Joly的评论)