我有一个脚本,使用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>
其他回答
这可能会帮助你,我得到这个错误,因为我试图用命令. .profile重新加载我的.profile,它有一个语法错误
$ls -l `which sh`
/bin/sh -> dash
$sudo dpkg-reconfigure dash #Select "no" when you're asked
[...]
$ls -l `which sh`
/bin/sh -> bash
那就好了
source命令内置于某些shell中。如果你有一个脚本,它应该在第一行指定使用什么shell,例如:
#!/bin/bash
发生此问题是因为jenkins Execute Shell通过其/bin/sh运行脚本
因此,/bin/sh不知道“源”
您只需要在jenkins中Execute Shell的顶部添加下面的行
#!/bin/bash
source是bash内置命令,因此要执行source命令,您可以以Root用户登录。
sudo - s 源。/ filename.sh