gpt4 book ai didi

linux - 启动 bash 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 03:53:43 25 4
gpt4 key购买 nike

你好,我有这样的问题。我有初始化脚本,并且必须运行 syslogd (busybox),所以我有这样的代码:

...
"$__start_program" $OPTIONS
....

如果我

echo "$__start_program $OPTIONS"

打印

/sbin/syslogd -s 512 -l 6 -L -O "/var/log/a.log"

我在ps中看到这个过程,但实际上syslog没有启动(日志文件中没有关于启动的消息,并且logger根本不写任何东西来记录)。但是,如果我从命令行手动运行此脚本(使用相同的参数),它就可以正常工作。有人可以帮我解决这个问题吗?

最佳答案

不要使用字符串来存储命令,这不是它们的用途。 link provided in the comments包含一些关于这可能导致的潜在问题的很好的讨论。

从问题中不清楚一个字符串从哪里开始,另一个字符串从哪里结束,但您应该使用一个函数来实现您想要做的事情。像这样的事情:

log_daemon() {
param_s="$1"
logfile="$2"
/sbin/syslogd -s "$param_s" -l 6 -L -O "$logfile"
}

然后从您的脚本中调用它,例如:

log_daemon 512 /var/log/a.log

关于linux - 启动 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25481749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com