我有一个使用sh
外壳的脚本。我在使用source
命令的行中得到一个错误。我的sh
外壳中似乎没有包含source
。
如果我显式地尝试从外壳运行source
,我会得到:
sh: 1: source: not found
我应该以某种方式安装"source“吗?我的sh
版本有错吗?
发布于 2012-12-04 20:26:31
/bin/sh
通常是一些试图模仿外壳的其他外壳。许多发行版使用sh
的/bin/bash
,它支持source
。然而,在Ubuntu上,使用的是不支持source
的/bin/dash
。大多数shells使用.
而不是source
。如果无法编辑脚本,请尝试更改运行该脚本的shell。
发布于 2012-12-04 20:03:56
在Bourne shell(sh)中,使用。用于源文件的命令
. filename
在某些操作系统/环境(至少是Mac OS、Travis-CI、Ubuntu )中,这必须是:
. ./filename
发布于 2014-01-07 14:16:01
$ls -l `which sh`
/bin/sh -> dash
$sudo dpkg-reconfigure dash #Select "no" when you're asked
[...]
$ls -l `which sh`
/bin/sh -> bash
那就没问题了
https://stackoverflow.com/questions/13702425
复制相似问题