假设我想以系统用户身份运行一些命令(无shell):
su -s /bin/bash -c "some_command $TEST" my_system_user
我在/etc/profile.d/my_vars.sh为所有用户configuration了variables
export TEST=test_arg
但是,这并不会加载上述情况…
Bash脚本用于计算应用程序的内存
git:哈希自动完成
bash脚本在带索引的文件中查找唯一值
我试过没有运气:
-m (--preserve-environment)
Linux bash – 重新打印用户的input
variables是variablesbash的子string
如何在单个文本文件中将tiff图像编译为xyz坐标?
暂停在后台运行的bash脚本
首先,我尝试创建一个如/etc/profile.d/my_vars.sh这样的文件,并在文件中添加一个测试变量。 我可以看到变量的价值,不管我是谁运行命令。 我也尝试用下面的代码在运行中设置一个变量,它可以在我的centos上运行:
unset A_VAR; export A_VAR=foo su -s /bin/bash -c "echo val=$A_VAR" my_system_user > val=foo unset A_VAR
一个替代解决方案,如果它不适合你,你可以考虑玩一个ssh技巧。
unset A_VAR; export A_VAR=foo ssh -o SendEnv my_system_user@localhost "echo val=$A_VAR" > val=foo unset A_VAR
这很奇怪。 这似乎为我工作。 我可以:
$ export TEST="hello" $ su -s /bin/bash -c "echo $TEST" password: hello
…我想我错过了关于这个问题的东西。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。