我想创建一个包含以下内容的bash脚本:
我知道如何执行命令来单独创建每个命令,但我无法弄清楚如何创建一个可以同时执行所有这些命令的bash脚本。有谁可以帮助我吗?我将不胜感激。
var cmd = "python -u python_test.py"
答案 0 :(得分:3)
将您想要做的每件事放在一个函数中,然后执行每个函数的执行:
do_redirection_stuff() {
# your stuff here
}
do_wild_card_stuff() {
# your stuff here
}
do_symbolic_link_stuff() {
# kool stuff
}
do_parallel_tasks() {
do_redirection_stuff &
do_wild_card_stuff &
do_symbolic_link_stuff &
wait # For all of them to finish
}
do_parallel_tasks
更新(代码已添加到OP的问题中)
您似乎对如何使用shell重定向感到困惑。在您提供的代码中,您应该只是串行执行每个命令。同样,这些命令都不会长时间阻塞,因此并行执行它们是过度的。
#!/bin/bash
cd /home
mkdir testdir
cd testdir
touch testfile.txt
ln -s /etc/passwd symboliclink
cd ..
mkdir things
cp -rf /testdir /things
usermod -aG admins,hr,payroll test
答案 1 :(得分:0)
我昨天了解了一个名为parallel
的工具:https://www.gnu.org/software/parallel/
它可以很容易地并行运行任意数量的任务,并对它们的输出进行排序。花一些时间来浏览一下教程,它会花费很多时间!