在终端脚本中exo-open - 程序以终端关闭

时间:2012-04-06 12:04:09

标签: bash xfce

我已经编写了一个简单的bash脚本,提示输入文件或目录路径并使用exo-open打开它,然后我将脚本分配给键盘快捷键,这样我就可以 < strong> CTRL + SHIFT + ALT + O 随时打开任何内容通过终端提示:

The keyboard binding

脚本:

#!/bin/bash

# CD to the home folder (not sure if this is needed, no harm either way)
cd ~/

# Request the filepath
echo -e "\e[1;31mEnter a file or directory:\e[00m"
read -e -i "~/" filename

# Convert ~/ to /home/username/
filename=`eval "echo $filename"`
echo -e "opening\e[1;32m" $filename "\e[00m"

# Open the file
exo-open "$filename"

echo "press enter to exit"
read enter

我的问题是,生成的程序链接到终端,当终端关闭时它带有程序 - 作为一个简单的解决方法,我在最后有另一个用户提示,以阻止终端关闭;有没有人知道如何让终端关闭,但保持结果程序打开?

我曾经/尝试过的一些想法:

  • 在exo-open之后运行disown $!(没有工作)
  • 使用nohup(没有工作)
  • 从PPID运行exo-open(不知道怎么做)

在我的智慧结束时: - (

1 个答案:

答案 0 :(得分:1)

Xfce论坛会员 ToC

回答了我的问题

http://forum.xfce.org/viewtopic.php?pid=25670

原来你可以像这样使用setsid:

#!/bin/bash

# CD to the home folder (not sure if this is needed, no harm either way)
cd ~/

# Request the filepath
echo -e "\e[1;31mEnter a file or directory:\e[00m"
read -e -i "~/" filename

# Convert ~/ to /home/username/
filename=`eval "echo $filename"`
echo -e "opening\e[1;32m" $filename "\e[00m"

# Open the file
setsid exo-open "$filename"