Shell

推荐列表 站点导航

当前位置:首页 > 脚本编程 > Shell >

shell-命令行打开程序的进化

来源:网络整理  作者:网友投稿  发布时间:2020-12-26 23:32
通过命令行打开应用很酷的,当删掉快捷方式后,别人拿到你的电脑连应用都打不开。但是这一个简单的脚本还是经...

通过命令行打开应用很酷的,当删掉快捷方式后,别人拿到你的电脑连应用都打不开。但是这一个简单的脚本还是经过了几代改进。

 

1代

只是实现打开程序的功能

#!/bin/bash

echo "1.eclipse  2.firefox q:quit"

read -t 40 -p "input choice:" choice

case "$choice" in

"1")

#打开eclipse

/home/SoftwareDev/eclipse/eclipse/eclipse

;;

"4")

#firefox

/usr/bin/firefox

;;

"q")

;;

*)

echo "input error!"

esac

结果:

root@jimo:/home/workspace# ./open.sh 

1.eclipse  2.firefox q:quit

input choice:1

org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized.  Will retry ........

这没问题,但是打开的应用是terminal的子进程,所以关闭终端就会关闭应用,这个问题在打开的程序过多时尤为严重,很多终端确实不太舒服。

 

2代

所以我通过nohup将应用转入后台:

nohup 命令 &

"1")

#打开eclipse

nohup /home/SoftwareDev/eclipse/eclipse/eclipse &

;;

"2")

#firefox

nohup /usr/bin/firefox &

;;

这样在打开应用后就可以手动关闭终端了。

 

3代

但是,作为喜欢自动化的我怎么会手动关闭呢,岂不是太low了,于是过了一段时间又进行了修改,通过字符截取获得terminal的pid,然后杀死进程来关闭终端。

先看看如何取得pid

root@jimo:~# ps

PID TTY          TIME CMD

30942 pts/3    00:00:00 bash

30959 pts/3    00:00:00 ps

root@jimo:~# ps | grep bash

30942 pts/3    00:00:00 bash

root@jimo:~# ps | grep bash | awk '{print $1}'

30942

root@jimo:~#

杀死:

kill -9 PID #-9代表强行杀死。

所以最终这样(加上有颜色的选项):

echo -e "\033[33m 1--->\033[0m Eclipse"

echo -e "\033[33m 2--->\033[0m firefox"

...

...

pid=$(ps | grep bash | awk '{print $1}')

kill -9 $pid

相关热词: shell

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/jiaob/shell/9581.shtml

相关文章
最新文章
PHP生成奖状 PHP生成奖状

时间:2021-01-06

python实现输入五个数并求 python实现输入五个数并求

时间:2021-01-06

php检测网站是否正常打开 php检测网站是否正常打开

时间:2021-01-05

python怎么右对齐 python怎么右对齐

时间:2021-01-05

Python3爬虫入门之Python3的安 Python3爬虫入门之Python3的安

时间:2021-01-05

如何用PHP接收http请求头信 如何用PHP接收http请求头信

时间:2021-01-05

数据库怎么连接用php写的 数据库怎么连接用php写的

时间:2021-01-05

php后缀怎么打开 php后缀怎么打开

时间:2021-01-05

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

shell-命令行打开程序的进化

2020-12-26 编辑:网友投稿

通过命令行打开应用很酷的,当删掉快捷方式后,别人拿到你的电脑连应用都打不开。但是这一个简单的脚本还是经过了几代改进。

 

1代

只是实现打开程序的功能

#!/bin/bash

echo "1.eclipse  2.firefox q:quit"

read -t 40 -p "input choice:" choice

case "$choice" in

"1")

#打开eclipse

/home/SoftwareDev/eclipse/eclipse/eclipse

;;

"4")

#firefox

/usr/bin/firefox

;;

"q")

;;

*)

echo "input error!"

esac

结果:

root@jimo:/home/workspace# ./open.sh 

1.eclipse  2.firefox q:quit

input choice:1

org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized.  Will retry ........

这没问题,但是打开的应用是terminal的子进程,所以关闭终端就会关闭应用,这个问题在打开的程序过多时尤为严重,很多终端确实不太舒服。

 

2代

所以我通过nohup将应用转入后台:

nohup 命令 &

"1")

#打开eclipse

nohup /home/SoftwareDev/eclipse/eclipse/eclipse &

;;

"2")

#firefox

nohup /usr/bin/firefox &

;;

这样在打开应用后就可以手动关闭终端了。

 

3代

但是,作为喜欢自动化的我怎么会手动关闭呢,岂不是太low了,于是过了一段时间又进行了修改,通过字符截取获得terminal的pid,然后杀死进程来关闭终端。

先看看如何取得pid

root@jimo:~# ps

PID TTY          TIME CMD

30942 pts/3    00:00:00 bash

30959 pts/3    00:00:00 ps

root@jimo:~# ps | grep bash

30942 pts/3    00:00:00 bash

root@jimo:~# ps | grep bash | awk '{print $1}'

30942

root@jimo:~#

杀死:

kill -9 PID #-9代表强行杀死。

所以最终这样(加上有颜色的选项):

echo -e "\033[33m 1--->\033[0m Eclipse"

echo -e "\033[33m 2--->\033[0m firefox"

...

...

pid=$(ps | grep bash | awk '{print $1}')

kill -9 $pid

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/jiaob/shell/9581.shtml

相关文章

风云图片

推荐阅读

返回Shell频道首页