请教:是否有程序可在BASH终端中同时运行不同命令?
使用GNU Parallel同时运行多个不同命令
直接通过:::参数指定要并行执行的命令即可,每个命令用引号包裹避免空格解析问题,注意交互式命令(比如top)需要切换到非交互模式才能正常运行。
基础用法示例:同时运行单次输出的
top和详细列表的lsparallel ::: 'top -b -n 1' 'ls -l'这里
top加-b(批处理模式)和-n 1(仅输出一次)是因为默认交互模式在非终端环境下无法正常输出。多命令批量执行:如果要运行的命令较多,可以把每个命令单独写在文本文件里(比如
cmds.txt),每行一个命令:top -b -n 1 ls -lh df -h free -m然后用以下命令并行执行:
parallel < cmds.txt区分命令输出:如果想让每个命令的输出带上对应的命令标识,加
--tag参数即可:parallel --tag ::: 'top -b -n 1' 'ls -lh' 'df -h'
内容的提问来源于stack exchange,提问作者Raffaele Tranfaglia
相关产品推荐
相关产品推荐

