微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将shellvariables传递给系统用户

假设我想以系统用户身份运行一些命令(无shell):

su -s /bin/bash -c "some_command $TEST" my_system_user

如何将$ TEStvariables传递给用户

我在/etc/profile.d/my_vars.sh为所有用户configuration了variables

export TEST=test_arg

但是,这并不会加载上述情况…

文件移动到另一个目录,同时添加下划线和inode编号

Bash脚本用于计算应用程序的内存

git:哈希自动完成

如何访问您在Bash中采购的文件的基本文件名?

bash脚本在带索引的文件中查找唯一值

我试过没有运气:

-m (--preserve-environment)

Linux bash – 重新打印用户的input

variables是variablesbash的子string

如何在单个文本文件中将tiff图像编译为xyz坐标?

暂停在后台运行的bash脚本

将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] 举报,一经查实,本站将立刻删除。

相关推荐