gpt4 book ai didi

bash - 在 bash 函数中生成后台进程

转载 作者:行者123 更新时间:2023-11-29 09:16:04 26 4
gpt4 key购买 nike

我正在编写一个 Bash 函数来启动需要从某个文件夹启动的服务器,但我不想启动该服务器影响我当前的工作。我写了以下内容:

function startsrv {
pushd .
cd ${TRUNK}
${SERVERCOMMAND} &
popd
}

我的变量都设置好了,但是当它执行时,我得到一个关于输出中意外分号的错误,看起来 Bash 在 ${SERVERCOMMAND} 开始的符号之后插入了一个分号背景。

我可以做些什么来在后台启动 ${SERVERCOMMAND},同时仍然使用 pushd 和 popd 来确保我最终回到我的当前目录?

编辑:echo ${SERVERCOMMAND} 的输出,因为它被请求:

yeti --server --port 8727

错误信息:

-bash: syntax error near unexpected token `;'

最佳答案

$SERVERCOMMAND 的值是多少?里面必须有一个分号。

对于它的值(value),你可以将 pushd/cd 简化为一个 pushd:

pushd $TRUNK
$SERVERCOMMAND &
popd

或者创建一个子 shell,这样 cd 只影响一个命令:

(cd $TRUNK; $SERVERCOMMAND &)

关于bash - 在 bash 函数中生成后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6298623/

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