包含runuser命令的bash脚本在变量中运行时可能会出现问题。该问题可以通过将runuser命令替换为su命令来解决。su命令与runuser命令的作用相同,但在变量中使用时更可靠。
以下是使用su命令解决该问题的示例代码:
#!/bin/bash
# 原代码
USER=user1
CMD="runuser -l $USER -c 'echo `whoami`'"
eval $CMD
# 修改后的代码
USER=user1
CMD="su - $USER -c 'echo `whoami`'"
eval $CMD
将runuser命令替换为su命令后,就可以在变量中运行bash脚本。
下一篇:变量中使用字面量“%”