【发布时间】:2015-10-12 10:59:38
【问题描述】:
我需要为 cron 自动运行脚本“myscript”。它需要一些 dbus 功能,所以我必须创建一个调用 myscript 的包装脚本,如下所示:
#!/bin/bash
# this is a wrapper script
# Do some computation here
env `dbus-launch` sh -c 'trap "kill $DBUS_SESSION_BUS_PID" EXIT; /home/username/bin/myscript myarguments'
如果我硬编码“myarguments”的值,一切都会按预期工作。但是,如果包装器从命令行获取“myarguments”,我不知道如何将它传递给 myscript。
(是的,我可以将值写到文件中,并让 myscript 将其读入,但非常感谢仅 bash 的解决方案)
【问题讨论】:
-
硬编码值和从命令行获取是什么意思?
-
就目前而言,传递给 myscript 的参数是 myarguments,我需要将其输入到脚本中。如果包装脚本是从 cron 调用的,它会像这样调用: $>/home/user/bin/wrapper newargs 问题是我想不出任何方法将 newargs 传递给 myscript,因为 sh -c 需要一个带引号的字符串 - 因此我不能在其中放入任何 $variable。抱歉,如果这不再有意义..
标签: bash debian parameter-passing