我有一个sh脚本(scala编译器)。我正在尝试从终端应用程序运行它:sudo fsc,但它说无法找到该文件。我已经设置了chmod + x,因此脚本应该是可见的。这是sh脚本,而不是bash。
有可能吗?
UPD:感谢所有人给出了很好的答案,我确实学到了很多东西:) 要正确设置路径,每个人都可以看到:http://macosx.com/forums/unix-x11/250180-set-path-environment-variable.html 大家好!答案 0 :(得分:1)
如果脚本位于当前目录中,则必须始终在其名称前加上“./
”,在这种情况下会给出:
sudo ./fsc
干杯
答案 1 :(得分:1)
首先,如果它在本地目录中而不是在$PATH
中直接指定,则需要在./
前加上。
其次,一旦脚本被赋予执行权限,如果它仍然无效,请尝试添加#!/bin/sh
或者解释器的路径位于顶部。
答案 2 :(得分:1)
是否已使用--wth-secure-path选项配置了sudo。如果是这样,那么它将使用安全路径并完全忽略您的路径设置。
当您已经是root用户时,可以通过键入sudo -v来找到它。
如果配置了安全路径,那么唯一的方法是将命令放入安全路径中指定的某个directorys中,或者将完整路径名作为参数传递给sudo。