10个让你欲罢不能的UNIX/Linux Shell脚本工具

10个让你欲罢不能的UNIX/Linux Shell脚本工具

哥们儿今儿个咱们就来扒拉扒拉这个可有意思的事儿。你们肯定不晓得,只要你在KDE或者Gnome这两个桌面环境里待着,就能拿着各种各样的小玩意儿儿来组装那啥GUI还有那个网络脚本哦?惊呆了吧?

  1. sudo apt-get install libnotify-bin

为啥总有人想着用shell脚本来搞GUI或者搞个网络啥的呢?告诉你shell脚本可不是只能敲敲代码那么简单,它还能玩儿转各种gui组件呐,比如菜单啊、警告框啦、进度条什么的,样样不少!而且你还能随心所欲地摆弄终端输出、光标位置以及各种各样的输出效果喔,这货可是强大得让人惊叹

  1. sudo yum install libnotify

  1. `$ sudo dnf install libnotify`

  2. In this example, send simple desktop notification from the command line, enter:

  3. ### 发送一些通知 ###

  4. notify-send "rsnapshot done :)"

10个让你欲罢不能的UNIX/Linux Shell脚本工具

那么,有没有那种神奇的神器可以帮咱们轻松地打造出强大无比,可以聊天交流,对用户如同春风拂面一般的UNIX/Linux bash脚本呢?这个,还真有嘞!就好比那个大名鼎鼎的-send命令,你猜怎么着,它能把各种重要消息直接送到用户桌面上。这下子,不管是啥消息,用户都能抢先一步知道。

  1. ...

  2. alert=18000

  3. live=$(lynx --dump http://money.rediff.com/ | grep 'BSE LIVE' | awk '{ print $5}' | sed 's/,//g;s/.[0-9]*//g')

  4. [ $notify_counter -eq 0 ] && [ $live -ge $alert ] && { notify-send -t 5000 -u low -i   "BSE Sensex touched 18k";  notify_counter=1; }

  5. ...

在KDE或者Gnome这两个桌面系统里头DNF脚本,想要用上那个啥-send指令,咱得先安个点儿东西。别慌你就这么做,用那个叫做apt的小助手或者是apt-get的大哥大,帮您把这个事儿一古脑儿搞定。说是简单方便还特别快!

  1. man notify-send

-send这个命令可不只是能给你发个桌面通知那么简单,它还有大招——直接给你搞出个GTK+对话框,然后等你上蹿下跳地一顿操作之后,就能顺利拿到你的输入答案喽!所以说,要是你想让某个Shell脚本多才多艺些,给用户展示点什么或是问问他们些什么,那这就是个绝佳的好帮手!真是太妙了,有木有?

  1. #!/bin/bash

  2. # clear the screen

  3. tput clear

  4. # Move cursor to screen location X,Y (top left is 0,0)

  5. tput cup 3 15

  6. # Set a foreground colour using ANSI escape

  7. tput setaf 3

  8. echo "XYX Corp LTD."

  9. tput sgr0

  10. tput cup 5 17

  11. # Set reverse video mode

  12. tput rev

  13. echo "M A I N - M E N U"

  14. tput sgr0

  15. tput cup 7 15

  16. echo "1. User Management"

  17. tput cup 8 15

  18. echo "2. Service Management"

  19. tput cup 9 15

  20. echo "3. Process Management"

  21. tput cup 10 15

  22. echo "4. Backup"

  23. # Set bold mode

  24. tput bold

  25. tput cup 12 15

  26. read -p "Enter your choice [1-4] " choice

  27. tput clear

  28. tput sgr0

  29. tput rc

别只知道-send这个命令啊朋友们!其实还是挺多好玩儿的玩意儿能帮咱们在命令行里面儿使唤应用的!比如说那个大名鼎鼎的KDE、老少皆知的Gnome、以及把命令行当玩具玩儿的X组件集这些都是大大滴有用处滴好东西你要是能用上他们,就能看到那些用户界面组件的文本!这样一来你的脚本不就也变得五彩斑斓、趣味盎然了嘛~

  1. man 5 terminfo

  2. man tput

这儿告诉你们个牛逼哄哄的绝活儿,那就是用bash脚本来搞些什么网上聊天,传照片啊这些事情。你只需用到这俩看似神秘莫测的设备文件——/dev/tcp/host/port和/dev/udp/host/port,挥挥手就可以搞定这些事!真是不能再神奇!

  1. setleds -D +num

  1. setleds -D -num

呢亲爱滴朋友们,你瞅啥啊瞅,瞅也不给你看!现在儿你可知道了,无论是用KDE还是Gnome桌面,只要咱们手握各种神器般的工具,就可以轻而易举地打造出 GUI 甚至网络脚本。啥子-send命令呀、GTK+对话框啦、KDE、Gnome这些高大上的东西,还有啥叫X组件集、网络套接字之类令人惊叹不已的强大功能,通通等你去挖掘、尝试呦。别光顾着看热闹,赶紧动起你那八只大拇指头儿,实操起来!还有,别忘了把这么新鲜事儿分享给那些围观的小伙计们,让他们也跟着开眼界嘞!今天这个话题可是老有意思了!你说,用shell脚本搞出来的GUI或者网络脚本,是不是霸气十足得很呐?嗨皮,评论区里跟姐一起侃聊聊去!别忘了活动活动你的手指头儿,点赞走起,分享别落下咯!

  1. #!/bin/bash

  2. # Get domain name

  3. _zenity="/usr/bin/zenity"

  4. _out="/tmp/whois.output.$$"

  5. domain=$(${_zenity} --title  "Enter domain"

  6.             --entry --text "Enter the domain you would like to see whois info" )

  7. if [ $? -eq 0 ]

  8. then

  9.  # Display a progress dialog while searching whois database

  10.  whois $domain  | tee >(${_zenity} --width=200 --height=100

  11.                    --title="whois" --progress

  12.                        --pulsate --text="Searching domain info..."

  13.                                    --auto-kill --auto-close

  14.                                    --percentage=10) >${_out}

  15.  # Display back output

  16.  ${_zenity} --width=800 --height=600  

  17.         --title "Whois info for $domain"

  18.         --text-info --filename="${_out}"

  19. else

  20.  ${_zenity} --error

  21.         --text="No input provided"

  22. fi

发表回复