我有一个脚本,使用sh shell。我在使用source命令的行中得到一个错误。它似乎源不包括在我的sh shell。

如果我显式地尝试从shell运行source,我得到:

sh: 1: source: not found

我是否应该安装“source”?我的sh版本是否错误?


当前回答

source是bash内置命令,因此要执行source命令,您可以以Root用户登录。

sudo - s 源。/ filename.sh

其他回答

在Bourne shell(sh)中,使用。命令获取文件的源

. filename

在某些操作系统/环境(Mac OS, Travis-CI, Ubuntu,至少),这必须是:

. ./filename

(以下是Adrien Joly的评论)

source是bash内置命令,因此要执行source命令,您可以以Root用户登录。

sudo - s 源。/ filename.sh

source命令内置于某些shell中。如果你有一个脚本,它应该在第一行指定使用什么shell,例如:

#!/bin/bash

这可能会帮助你,我得到这个错误,因为我试图用命令. .profile重新加载我的.profile,它有一个语法错误

在Ubuntu上,我没有使用sh scriptname.sh来运行文件,而是使用。Scriptname.sh,它工作了! 我的文件的第一行包含: # !/bin/bash

使用该命令运行脚本

.name_of_script.sh