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

时间:2011-11-10 03:03:14

标签: ruby irb

今天,我试图从ruby调用脚本。我确实喜欢这个:

`./aaa.sh`,

但它返回'command not found',这里是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 个答案:

答案 0 :(得分:3)

立刻想到几种可能性:

  1. 您的aaa.sh文件没有执行权限。
  2. 您的aaa.sh文件不以#!/bin/sh开头,因此操作系统不知道如何执行它。
  3. 顺便说一句,你是否真的以root身份登录进行实验?这是一个快速而简单的方式来度过一个非常糟糕的一天。