gpt4 book ai didi

bash - Shell 脚本源 : Not Found

转载 作者:行者123 更新时间:2023-11-29 09:12:01 24 4
gpt4 key购买 nike

我正在运行以下简单脚本来测试代码块:

#!/bin/bash                                                                                                                         

# Load nvm and install latest production node
source $HOME/.nvm/nvm.sh
nvm install v0.10.12
nvm use v0.10.12

如果文件名为 test.sh 与上面的代码,我得到以下错误:

test.sh: 5: test.sh: source: not found
test.sh: 6: test.sh: nvm: not found
test.sh: 7: test.sh: nvm: not found

根据我在 SO 中的评论,脚本错误似乎源自 ==> 来源:未找到。当我自己在 CLI 中键入此代码时,代码工作正常。由于某种原因,我无法通过 shell 脚本执行此代码。

如有任何建议,我们将不胜感激。

最佳答案

你的 shebang line说 Bash 但症状表明您正在使用 sh 运行它,它没有 source 命令。从表面上看,将 source 更改为一个点可以解决这个问题,但是当然,如​​果源文件包含任何 Bashisms,它将在这些文件上失败(也许更巧妙,结果不正确但没有错误消息) .

#!/bin/sh                                      
# Load nvm and install latest production node
. $HOME/.nvm/nvm.sh
nvm install v0.10.12
nvm use v0.10.12

通常,最好将脚本标记为可执行,并让操作系统通过 shebang 机制选择正确的解释器;那么您不必记住脚本文件是否包含 Bash 命令或 sh 命令或 Python 代码或编译代码或其他任何内容,也不必注意它是否从一个版本更改为另一个版本。

所以代替

sh script

你会做

chmod +x ./script # the first time
./script

一旦权限正确,只需要第二行。还有一些小的额外注意事项,这就是为什么一些忙碌的开发人员有时会针对眼前的问题给出最简单的说明。

关于bash - Shell 脚本源 : Not Found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23506974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com