从外壳脚本内部运行脚本

时间:2019-07-31 11:47:51

标签: shell sh

我一直试图从shell脚本内部运行shell脚本。该文件的名称为“ hello.sh”

“ hello.sh”文件首先进入一个路径,然后执行其他命令。 该命令运行一个python文件。

但是,第一行显示没有目录。

  

:没有这样的文件或目录cd:/ home / <用户> / sample / hello /

hello.sh

cd ~/sample/hello
python helloworld.py

我已经授予了Shell脚本的权限。

  

chmod + x ./hello.sh

另外,当我从ouside运行命令-'cd〜/ sample / hello'时,即直接从外壳程序运行,它进入目录/ sample / hello。从那里我可以运行命令-'python helloworld.py'

因此,命令是从shell透明性运行的,但是当我将其放入脚本中并尝试运行该脚本时,它表明该目录不存在。

该目录存在,并且该目录中也存在python文件。可能是什么问题?

2 个答案:

答案 0 :(得分:1)

已修复。只需在两个命令之间添加'&&'并将它们放在一行中。因此,hello.sh看起来像-

cd ~/sample/hello && python helloworld.py

答案 1 :(得分:0)

您的脚本似乎正在尝试打开/sample/hello而不是/home/<user>/sample/hello

尝试使用绝对路径。