脚本文件:命令停止
问题描述:
我做了简单的脚本。文件名是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
。 所以我看不到回声消息。
我想做出这种脚本文件。我怎样才能做到这一点??
我将不胜感激您的帮助。
让我们来说更一般的情况。 myscript1
文件执行过程像上面的redis-server一样。
另一个myscript2
文件像上面的redis-server一样执行进程。 另一个myscript3
文件像上面的redis-server一样执行进程。
如何同时运行三个脚本文件?
我想通过ssh连接做任务。
更糟糕的是,如果我不能使用screen
或tmux
?
答
在行
./redis-server &
这个字符的末尾添加“&”字符允许在作业背景中运行,并且脚本继续。
答
只是做了回声第一:
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
感谢您的回答。请阅读我的编辑。对于更一般的情况。 – newbie16
添加'&'也适用?可能?你可以在你的例子中使用 – newbie16
./myscript1&; ./myscript2&; ./myscript3&;和他们一起跑 – messiedo