我的 shell 脚本 ( my_shell.sh
) 无法运行其中的 ruby 脚本 ( ruby_script_1.rb
)。
my_shell.sh
:
#!/bin/sh
# Invoke the ruby script here
./ruby_script_1.rb
它无法找到在哪里./ruby_script_1.rb
,因此出现错误:
# sudo my_shell.sh
: No such file or directory.
我的 ruby 脚本的权限是 777。如能提供任何帮助我将不胜感激。
答案1
我正在使用 Fedora 19,我做了一些测试,sudo 使用
Defaults env_reset
和
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
简而言之,通过这两个指令,sudo 使用了自己的环境变量
在 /etc/sudoers 中注释这两个选项并将我当前的工作目录添加到我的 PATH 中就可以了
sudo sudotest.sh
+ ./ruby.rb
hello world
您的目录脚本不在根安全路径中