哥们儿今儿个咱们就来扒拉扒拉这个可有意思的事儿。你们肯定不晓得,只要你在KDE或者Gnome这两个桌面环境里待着,就能拿着各种各样的小玩意儿儿来组装那啥GUI还有那个网络脚本哦?惊呆了吧?
sudo apt-get install libnotify-bin
为啥总有人想着用shell脚本来搞GUI或者搞个网络啥的呢?告诉你shell脚本可不是只能敲敲代码那么简单,它还能玩儿转各种gui组件呐,比如菜单啊、警告框啦、进度条什么的,样样不少!而且你还能随心所欲地摆弄终端输出、光标位置以及各种各样的输出效果喔,这货可是强大得让人惊叹
sudo yum install libnotify
`$ sudo dnf install libnotify`
In this example, send simple desktop notification from the command line, enter:
### 发送一些通知 ###
notify-send "rsnapshot done :)"
那么,有没有那种神奇的神器可以帮咱们轻松地打造出强大无比,可以聊天交流,对用户如同春风拂面一般的UNIX/Linux bash脚本呢?这个,还真有嘞!就好比那个大名鼎鼎的-send命令,你猜怎么着,它能把各种重要消息直接送到用户桌面上。这下子,不管是啥消息,用户都能抢先一步知道。
...
alert=18000
live=$(lynx --dump http://money.rediff.com/ | grep 'BSE LIVE' | awk '{ print $5}' | sed 's/,//g;s/.[0-9]*//g')
[ $notify_counter -eq 0 ] && [ $live -ge $alert ] && { notify-send -t 5000 -u low -i "BSE Sensex touched 18k"; notify_counter=1; }
...
在KDE或者Gnome这两个桌面系统里头DNF脚本,想要用上那个啥-send指令,咱得先安个点儿东西。别慌你就这么做,用那个叫做apt的小助手或者是apt-get的大哥大,帮您把这个事儿一古脑儿搞定。说是简单方便还特别快!
man notify-send
-send这个命令可不只是能给你发个桌面通知那么简单,它还有大招——直接给你搞出个GTK+对话框,然后等你上蹿下跳地一顿操作之后,就能顺利拿到你的输入答案喽!所以说,要是你想让某个Shell脚本多才多艺些,给用户展示点什么或是问问他们些什么,那这就是个绝佳的好帮手!真是太妙了,有木有?
#!/bin/bash
# clear the screen
tput clear
# Move cursor to screen location X,Y (top left is 0,0)
tput cup 3 15
# Set a foreground colour using ANSI escape
tput setaf 3
echo "XYX Corp LTD."
tput sgr0
tput cup 5 17
# Set reverse video mode
tput rev
echo "M A I N - M E N U"
tput sgr0
tput cup 7 15
echo "1. User Management"
tput cup 8 15
echo "2. Service Management"
tput cup 9 15
echo "3. Process Management"
tput cup 10 15
echo "4. Backup"
# Set bold mode
tput bold
tput cup 12 15
read -p "Enter your choice [1-4] " choice
tput clear
tput sgr0
tput rc
别只知道-send这个命令啊朋友们!其实还是挺多好玩儿的玩意儿能帮咱们在命令行里面儿使唤应用的!比如说那个大名鼎鼎的KDE、老少皆知的Gnome、以及把命令行当玩具玩儿的X组件集这些都是大大滴有用处滴好东西你要是能用上他们,就能看到那些用户界面组件的文本!这样一来你的脚本不就也变得五彩斑斓、趣味盎然了嘛~
man 5 terminfo
man tput
这儿告诉你们个牛逼哄哄的绝活儿,那就是用bash脚本来搞些什么网上聊天,传照片啊这些事情。你只需用到这俩看似神秘莫测的设备文件——/dev/tcp/host/port和/dev/udp/host/port,挥挥手就可以搞定这些事!真是不能再神奇!
setleds -D +num
setleds -D -num
呢亲爱滴朋友们,你瞅啥啊瞅,瞅也不给你看!现在儿你可知道了,无论是用KDE还是Gnome桌面,只要咱们手握各种神器般的工具,就可以轻而易举地打造出 GUI 甚至网络脚本。啥子-send命令呀、GTK+对话框啦、KDE、Gnome这些高大上的东西,还有啥叫X组件集、网络套接字之类令人惊叹不已的强大功能,通通等你去挖掘、尝试呦。别光顾着看热闹,赶紧动起你那八只大拇指头儿,实操起来!还有,别忘了把这么新鲜事儿分享给那些围观的小伙计们,让他们也跟着开眼界嘞!今天这个话题可是老有意思了!你说,用shell脚本搞出来的GUI或者网络脚本,是不是霸气十足得很呐?嗨皮,评论区里跟姐一起侃聊聊去!别忘了活动活动你的手指头儿,点赞走起,分享别落下咯!
#!/bin/bash
# Get domain name
_zenity="/usr/bin/zenity"
_out="/tmp/whois.output.$$"
domain=$(${_zenity} --title "Enter domain"
--entry --text "Enter the domain you would like to see whois info" )
if [ $? -eq 0 ]
then
# Display a progress dialog while searching whois database
whois $domain | tee >(${_zenity} --width=200 --height=100
--title="whois" --progress
--pulsate --text="Searching domain info..."
--auto-kill --auto-close
--percentage=10) >${_out}
# Display back output
${_zenity} --width=800 --height=600
--title "Whois info for $domain"
--text-info --filename="${_out}"
else
${_zenity} --error
--text="No input provided"
fi