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