【问题标题】:Can't run shell script from other shell script无法从其他 shell 脚本运行 shell 脚本
【发布时间】:2016-05-27 17:28:37
【问题描述】:

我正在尝试运行一个调用另一个 shell 脚本的 shell 脚本:

#!/bin/sh

for k in `cat ../config/file1.keywords`
do
  echo "*** keyword: $k ***"
  ./file2.sh $k 
done

我收到以下错误:

./file2.sh: Permission denied

我尝试使用:chmod +x file2.sh

当我再次运行我的脚本时,我得到了一个不同的错误:

./file2.sh: not found

我在这里错过了什么......?谢谢。

(我在 ubuntu 14.04 LTS 上运行 Oracle VM VirtualBox

【问题讨论】:

    标签: linux bash shell ubuntu ubuntu-14.04


    【解决方案1】:

    file2.sh 中有类似#!/bin/sh 的内容吗?如果没有,请使用sh file2.sh $k而不是./file2.sh $k

    【讨论】:

    • file2.sh 以#!/bin/csh 开头。我尝试按照您的建议删除./,但我仍然收到not found 错误... :(
    • 对不起对不起!正如你提到的,我删除了./,但忘记添加sh。我认为它有效!谢谢!在shell脚本中添加./是什么意思?我以为通常不会这样做?
    • ./file.sh 表示在当前目录执行file.sh(并使用头文件中的解释器)
    • 那么为什么要删除它并添加 sh 帮助?我以为你在终端写信时只添加sh...我想我错了?对不起这些问题,我对这个东西有点陌生。 (我很快就会接受你的回答(网站在最初的几分钟内将其禁用),非常感谢!)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 2013-04-18
    • 2014-09-29
    相关资源
    最近更新 更多