小编fox*_*rot的帖子

在bash函数中生成后台进程

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

function startsrv {
        pushd .
        cd ${TRUNK}
        ${SERVERCOMMAND} & 
        popd
}
Run Code Online (Sandbox Code Playgroud)

我的变量都已设置,但是当执行时,我得到一个关于输出中意外分号的错误,看来Bash在后面开始的&符号后插入分号${SERVERCOMMAND}.

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

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

yeti --server --port 8727
Run Code Online (Sandbox Code Playgroud)

错误信息:

-bash: syntax error near unexpected token `;'
Run Code Online (Sandbox Code Playgroud)

unix bash shell bash-function

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

bash-function ×1

shell ×1

unix ×1