首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脚本不会退出

脚本不会退出
EN

Stack Overflow用户
提问于 2016-02-04 13:09:24
回答 2查看 62关注 0票数 1

我做了一个非常简单的脚本,它显示了一个dock对话框,并允许您在运行其他两个脚本之一来设置dock之间进行选择。但当您单击该按钮时,它不会关闭脚本。我如何让它在它完成它的事情后退出?

脚本如下:

代码语言:javascript
复制
#!/bin/bash 

GTKDIALOG=gtkdialog 
export MAIN_DIALOG=' 

<window title="Dock Selector" icon-name="gtk-about" resizable="true" width-request="310" height-request="310"> 

<vbox> 
<hbox space-fill="true" space-expand="true"> 
    <button>     
        <label>Deluxe (lots of eye candy, higher cpu usage)</label> 
        <action>switch-cairo && exit 1</action> 
    </button> 
</hbox>  
<hbox space-fill="true" space-expand="true"> 
    <button>     
        <label>Light (low cpu usage)</label> 
        <action>switch-ocd && exit 1</action> 
    </button> 
</hbox> 
</vbox> 
</window> 
' 

case $1 in 
-d | --dump) echo "$MAIN_DIALOG" ;; 
*) $GTKDIALOG --program=MAIN_DIALOG --center ;; 

esac  

下面是它调用的一个脚本:

代码语言:javascript
复制
#!/bin/sh
killall -9 ocd-Dock
killall -9 cairo-dock
cairo-dock -o
sed -i 's/cairo-dock -o/ocd-Dock/g' /usr/bin/autostart 
exit

编辑:是的,把&放在最后修复了它。干杯!

EN

回答 2

Stack Overflow用户

发布于 2016-02-04 14:30:47

您需要在后台启动另一个脚本。您的主脚本等待它退出,但由于某种原因,它没有...

您可以通过在命令后使用"&“来完成此操作(就像在注释中提到的那样),如下所示

代码语言:javascript
复制
*) $GTKDIALOG --program=MAIN_DIALOG --center & ;; 
票数 0
EN

Stack Overflow用户

发布于 2016-02-04 14:41:40

看起来GTK或cairo dock的对话框中有该控件,使用"&“在后台运行它们,该控件应该会返回到您的脚本,这应该会解决您的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35192942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档