今天,我试图从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"
所以,这有什么不对吗?
答案 0 :(得分:3)
立刻想到几种可能性:
aaa.sh
文件没有执行权限。aaa.sh
文件不以#!/bin/sh
开头,因此操作系统不知道如何执行它。顺便说一句,你是否真的以root身份登录进行实验?这是一个快速而简单的方式来度过一个非常糟糕的一天。