Linux Bash - 如何使用 ()、&& 和 & 执行以下操作

标签 linux bash operators

我想执行一个脚本,但一旦它开始,我希望它回显 PID,所以我正在执行以下操作:

./dummy.SCRIPT & echo $!

但我也希望它在执行完脚本后回显一些东西,所以我猜它应该看起来像这样:

( ./dummy.SCRIPT & echo $! ) && echo "Task Done!"

但它似乎不起作用,“任务完成!” echo 在 dummy.SCRIPT 启动的同时执行,我做错了什么!?

最佳答案

与其使用命令行执行,不如编写一个小脚本来为您执行该操作。

$ cat monitordummy.sh
#!/bin/bash

./dummyscript &
pidofdummy=$!
while ps -p $pidofdummy > /dev/null
do
  sleep 5 # Modify this according to your run time
  echo -n "...." # This will be printed on the stdout
done
echo "Task Done for dummyscript"

运行脚本:

$ chmod u+x monitordummy.sh
$ ./monitordummy.sh

关于Linux Bash - 如何使用 ()、&& 和 & 执行以下操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48546426/

相关文章:

c# - C# 中的 OR 运算符

c++ - 如何在创建新对象时使用 = 运算符?

java - 以编程方式检查java中的centos 'network'服务状态

linux - 在 Linux CLI 上将常见视频格式转换为 FLV 的最佳工具是什么

ruby - 无法在 Mac OS X Lion 上安装 RVM

linux - 在搜索路径中调用二进制文件与显式调用它

c++ - 从 netlink 套接字请求连接设备列表

Python:OSError:[Errno 2] subprocess.Popen 上没有这样的文件或目录

arrays - 比较数组的 2 个字符串元素

java - java中从double到int可能出现的有损转换错误