我在 /etc/profile.d 中有一个 shell 脚本,它在我的 $PATH 中添加了一些目录,但是 vagrant 在运行特权配置脚本时看不到。这使用 sudo 并且 sudo 看不到这个修改后的 $PATH。
有没有办法让流浪者看到这条路?
编辑:添加了一些澄清的话。我只是在寻找如何在特权配置脚本中修改 $PATH 。
我正在尝试跟踪某个命令的使用情况,所以我想记录它的父母(查看实际使用它的内容)
Solaris 有“ptree”,它很容易解析和记录:
# ptree 4198
4198 /usr/bin/perl -S /sample.pl
4228 /usr/bin/java -server -cp /sample.java
Linux 似乎没有等价物。我尝试过使用“pstree”和“ps -auxf”等,但没有取得多大成功。
我宁愿不解析 STDERR,但我想不出另一种方法来以编程方式区分两者之间的区别:
$ ls /net/foo.example.com/bar/test
/net/foo.example.com/bar/test: Permission denied
$ ls /sdfsdf
/sdfsdf: No such file or directory
无论我尝试什么命令,它们似乎都返回相同的错误代码,所以这是一个死胡同:
$ ls /net/foo.example.com/bar/test
/net/foo.example.com/bar/test: Permission denied
$ echo $?
2
$ ls /sdfsdf
/sdfsdf: No such file or directory
$ echo $?
2
我在 perl 中尝试了各种文件测试,但它们都返回相同的代码。