1.首先在 root 的权限在运行:
root@marva:/# su - scidb -c "echo $PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2.接下来我用了测试脚本:
#!/bin/bash
echo $PATH
运行脚本:
root@marva:/# su - scidb -s /tmp/
scidbshell.sh /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
这两处的环境变量都不一样。
3.接下来我切换到 scidb 的用户权限下来查看 scidb 的 PATH 的值
root@marva:/# su scidb
scidb@marva:/$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/scidb/14.12/bin:/opt/scidb/14.12/share/scidb
我有个命令必须要在有后面的那个环境中才能运行成功, 不然会报没找到命令。。。
只要让环境变量和切换到 scidb 的用户下一样,命令就可以运行成功了。
有哪位前辈知道解决方法的,希望告知答案
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/215447
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.