【问题标题】:Linux shell script run multiple shell scripts tabsLinux shell 脚本运行多个 shell 脚本选项卡
【发布时间】:2011-08-19 14:17:59
【问题描述】:

我想制作一个 .sh,它可以在新选项卡/窗口中运行多个其他的 .sh。

main.sh 里面的东西

"sh1.sh"

wait 5 seconds to load

"sh2.sh"

wait 5 seconds

"sh3.sh"

【问题讨论】:

    标签: linux shell tabs sh


    【解决方案1】:

    您可以尝试 xterm -e ~/sh1.sh 作为您的命令。脚本完成后它会立即关闭。

    【讨论】:

    • 完成后关闭也没有问题。但它们应该同时运行。使用 xterm 我只能执行 sh1.sh,当我中止 sh1.sh 时,它会执行 sh2.sh 我想执行 sh1 和 sh2。也许我做错了......
    • 我刚刚用下面的代码再次尝试,它生成了 3 个单独的窗口: main.sh: xterm -e ~/test.sh xterm -e ~/test.sh xterm -e ~/test .sh test.sh: echo "Hello" sleep 10
    • 其实这些xterms的末尾应该有&,我没有注意,因为我c+p'ed它。
    【解决方案2】:

    如果您需要同时在不同的窗口中运行它们,则需要将每个进程设置为后台。

    xterm -e sh1.sh &
    sleep 5 # why do you want to pause between invocations?
    xterm -e sh2.sh &
    sleep 5
    xterm -e sh3.sh &
    

    这可能应该被重构为使用循环和/或包装函数。

    for prog in sh1.sh sh2.sh sh3.sh; do
      xterm -e $prog &
      sleep 5
    done
    

    【讨论】:

    • 有效!谢谢!睡眠时间是因为第一个脚本加载了一些繁重的 Java 文件,而第二个脚本需要第一个脚本提供的一些服务。 sh 3 和 4 也是如此。再次感谢
    • 在这种情况下,第二个确实应该等待第一个,否则你会遇到时间问题(当系统负载过重时,事情会停止工作,或者其他什么)。此外,如果这解决了您的问题,请将此答案标记为已接受。谢谢。
    猜你喜欢
    • 2013-04-18
    • 2017-03-02
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    相关资源
    最近更新 更多