在ruby中调用`。/ myshell`时找不到命令

今天,我试着用ruby调用脚本。 我喜欢这样:

`./aaa.sh`, 

但它返回’命令未找到’,这里是irb的会话日志:

 irb(main):012:0> `which aaa.sh` => "/root/rocky/aaa.sh\n" irb(main):013:0> `aaa.sh` (irb):13: command not found: aaa.sh => "" irb(main):014:0> `./aaa.sh` (irb):14: command not found: ./aaa.sh => "" 

但是,如果我把它称为’sh aaa.sh’,它就可以了。

 irb(main):015:0> `sh aaa.sh` => "aaa.sh\ntest.rb\n" 

那么,这有什么不对?

立刻想到几种可能性:

  1. 您的aaa.sh文件没有执行权限。
  2. 您的aaa.sh文件不以#!/bin/sh开头,因此操作系统不知道如何执行它。

顺便说一句,你是否真的以root用户身份进行实验? 这是一个快速而简单的方式来度过一个非常糟糕的一天。