欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux shell在while中用read從鍵盤輸入的實現

 更新時間:2017年01月05日 09:56:07   投稿:jingxian  
下面小編就為大家?guī)硪黄猯inux shell在while中用read從鍵盤輸入的實現。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

系統是ubuntu 14.04 64bit,之前曾想安裝Stream來玩dota2,但最終沒成功。由于Stream只有32bit,安裝Stream時也安裝了大量32bit的庫。刪除Stream后,這些庫也一直沒管,今天忽然心血來潮,想清理一下系統,把不必要的32bit庫都干掉。

dpkg -l | grep "i386"看一下,32bit庫太多,一個個敲sudo apt-get purge xxx顯然有點累,分析了一下輸出,

格式大概如下:

rc libkrb5support0:i386  1.12+dfsg-2ubuntu4  i386 MIT Kerberos runtime libraries - Support library

第2列為包名,第4列是平臺,于是決定寫一個腳本來刪除:

#!/bin/sh

#rc libkrb5support0:i386  1.12+dfsg-2ubuntu4  i386 MIT Kerberos runtime libraries - Support library
#
#
pks=`dpkg -l | grep "i386" | awk '{print $2,$4}'`

tmp="tmp.file"

echo "$pks" > $tmp

while read line
do
  name=`echo $line | awk '{print $1}'`
  platform=`echo $line | awk '{print $2}'`

  # if [ == ] in bash,buf in dash,if [ = ]
  if [ "$platform" = "i386" ];then
    sudo apt-get purge $name
  fi
done < $tmp

rm -rf $tmp

exit 0

這個腳本大體上沒有什么錯,不過在執(zhí)行sudo apt-get purge $name這一行時,系統詢問是否刪除。但是這時卻沒有機會輸入,而是直接中止執(zhí)行。

xzc@xzc-HP-ProBook-4446s:~$ ./rm_i386_package.sh 
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關系樹    
正在讀取狀態(tài)信息... 完成    
下列軟件包將被【卸載】:
 libdrm-radeon1:i386*
升級了 0 個軟件包,新安裝了 0 個軟件包,要卸載 1 個軟件包,有 306 個軟件包未被升級。
解壓縮后會消耗掉 0 B 的額外空間。
您希望繼續(xù)執(zhí)行嗎? [Y/n] 中止執(zhí)行。

批量刪除軟件這操作,當然要一個確認,不能加個參數默認執(zhí)行啊。

查了一下資料,大概是說

while read line
do
# xxx
done < $file

這樣會把read指令重定向為文件$file,這時在while中調用read會直接在文件中取一行作為輸入。所以在while中要把read重新定向為終端。上面的腳本稍微修改一行:

sudo apt-get purge $name < /dev/tty

這樣就OK了。

以上就是小編為大家?guī)淼膌inux shell在while中用read從鍵盤輸入的實現全部內容了,希望大家多多支持腳本之家~

相關文章

  • Shell腳本函數傳遞參數的實現方法

    Shell腳本函數傳遞參數的實現方法

    本文主要介紹了Shell腳本函數傳遞參數的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • Linux不解壓直接查看gzip壓縮日志的常用命令

    Linux不解壓直接查看gzip壓縮日志的常用命令

    在Linux服務器上,日志文件經常會用gzip格式進行壓縮,以節(jié)省磁盤,對于這種壓縮文件,需要解壓?然后再用cat、grep這些命令進行查看?其實不需要,本文就給大家介紹了Linux不解壓直接查看gzip壓縮日志的常用命令,需要的朋友可以參考下
    2024-07-07
  • Shell中的${}、##和%%使用范例

    Shell中的${}、##和%%使用范例

    這篇文章主要介紹了Shell中的${}、##和%%使用范例,本文給出了不同情況下得到的結果,需要的朋友可以參考下
    2015-04-04
  • Shell判斷文件或目錄是否存在的腳本(收藏)

    Shell判斷文件或目錄是否存在的腳本(收藏)

    這篇文章主要介紹了Shell判斷文件或目錄是否存在的腳本,shell腳本判斷文件是否存在非常簡單,文中給大家列舉了常用的例子,給大家講解的非常詳細,需要的朋友跟隨小編一起看看吧
    2022-11-11
  • shell腳本實現快速生成xml格式sitemap實例分享

    shell腳本實現快速生成xml格式sitemap實例分享

    這篇文章主要介紹了shell腳本實現快速生成xml格式sitemap實例分享,只是本文的腳本首先需要一個創(chuàng)建好的URL集合文件,也就是數據源才可以生成,需要的朋友可以參考下
    2014-12-12
  • Shell腳本實現的猜數字小游戲

    Shell腳本實現的猜數字小游戲

    這篇文章主要介紹了Shell腳本實現的猜數字小游戲,本文的猜數字規(guī)則相對一般規(guī)則的猜數字可能難度要大不少,需要的朋友可以參考下
    2014-12-12
  • shell腳本聯合PHP腳本采集網站的pv和alexa排名

    shell腳本聯合PHP腳本采集網站的pv和alexa排名

    這篇文章主要介紹了shell腳本聯合PHP腳本采集網站的pv和alexa排名,本文使用PHP腳本采集alexa網站數據,然后在shell中調用php腳本并輸出數據,需要的朋友可以參考下
    2014-12-12
  • Linux 命令之rsync命令詳解

    Linux 命令之rsync命令詳解

    rsync命令是一個遠程數據同步工具,可通過LAN/WAN快速同步多臺主機間的文件。下面通過本文給大家分享Linux 命令之rsync命令詳解,需要的朋友參考下吧
    2017-08-08
  • linux系統mysql自動備份并使用ftp上傳的方法

    linux系統mysql自動備份并使用ftp上傳的方法

    這篇文章主要介紹了linux系統自動導出mysql備份,并上傳到指定ftp,還可以刪除舊的備份文件,大家參考使用吧
    2014-01-01
  • linux下安裝配置Memcache和PHP環(huán)境的實現

    linux下安裝配置Memcache和PHP環(huán)境的實現

    下面小編就為大家?guī)硪黄猯inux下安裝配置Memcache和PHP環(huán)境的實現。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02

最新評論