首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在sh shell中找不到source命令

在sh shell中找不到source命令
EN

Stack Overflow用户
提问于 2012-12-04 20:01:43
回答 9查看 312.7K关注 0票数 206

我有一个使用sh外壳的脚本。我在使用source命令的行中得到一个错误。我的sh外壳中似乎没有包含source

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

sh: 1: source: not found

我应该以某种方式安装"source“吗?我的sh版本有错吗?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-12-04 20:26:31

/bin/sh通常是一些试图模仿外壳的其他外壳。许多发行版使用sh/bin/bash,它支持source。然而,在Ubuntu上,使用的是不支持source/bin/dash。大多数shells使用.而不是source。如果无法编辑脚本,请尝试更改运行该脚本的shell。

票数 216
EN

Stack Overflow用户

发布于 2012-12-04 20:03:56

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

. filename

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

. ./filename

(归功于Adrien Joly's comment below)

票数 172
EN

Stack Overflow用户

发布于 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

那就没问题了

票数 58
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13702425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档