脚本文件:命令已停止

时间:2017-09-14 13:45:41

标签: shell ubuntu

我做了简单的脚本。文件名是 sutest

#!/bin/bash

cd ~/Downloads/redis-4.0.1/src
./redis-server

echo "uid is ${UID}"
echo "user is ${USER}"
echo "username is ${USERNAME}"

我毁了剧本。$ . sutest
但是,脚本代码在./redis-server处停止。 所以我看不到回音信息。

enter image description here

我想制作这种脚本文件。我怎么能这样做?

我将非常感谢你的帮助。

让我们说更一般的情况。
myscript1文件执行上面的redis-server过程 另一个myscript2文件执行上面的redis-server进程。 另一个myscript3文件执行上面的redis-server进程。

如何同时运行三个脚本文件?
我想在ssh连接中做工作。
更糟糕的是,如果我不能使用screentmux ??

2 个答案:

答案 0 :(得分:0)

先做回声:

cd ~/Downloads/redis-4.0.1/src

echo "uid is ${UID}"
echo "user is ${USER}"
echo "username is ${USERNAME}"

exec ./redis-server

使用exec是一个小技巧(如果您愿意,可以省略):它用redis-server替换shell脚本,因此shell脚本根本不再运行。如果没有exec,最终会让shell脚本等待redis-server完成,如果脚本不再采取任何措施,这是不必要的。

如果您因某种原因不喜欢这样,可以保留原始订单:

cd ~/Downloads/redis-4.0.1/src
./redis-server & # run in background

echo "uid is ${UID}"
echo "user is ${USER}"
echo "username is ${USERNAME}"

wait # optional 

答案 1 :(得分:0)

添加'&'行尾的char

./redis-server &

此char允许在后台运行作业,脚本继续。