最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux shell在while中用read從鍵盤輸入的實現(xiàn)

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

系統(tǒng)是ubuntu 14.04 64bit,之前曾想安裝Stream來玩dota2,但最終沒成功。由于Stream只有32bit,安裝Stream時也安裝了大量32bit的庫。刪除Stream后,這些庫也一直沒管,今天忽然心血來潮,想清理一下系統(tǒng),把不必要的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這一行時,系統(tǒng)詢問是否刪除。但是這時卻沒有機(jī)會輸入,而是直接中止執(zhí)行。

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

批量刪除軟件這操作,當(dāng)然要一個確認(rèn),不能加個參數(shù)默認(rèn)執(zhí)行啊。

查了一下資料,大概是說

while read line
do
# xxx
done < $file

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

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

這樣就OK了。

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

相關(guān)文章

  • shell字符串匹配的實現(xiàn)

    shell字符串匹配的實現(xiàn)

    這篇文章主要介紹了shell字符串匹配的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Linux命令行里的“瑞士軍刀”

    Linux命令行里的“瑞士軍刀”

    本文說的瑞士軍刀是指那些簡單的一句命令就能完成其它高級語言一大片代碼才能完成的工作
    2013-07-07
  • 五個常用的Linux監(jiān)控腳本代碼

    五個常用的Linux監(jiān)控腳本代碼

    為大家提供五個常用linux監(jiān)控腳本(查看主機(jī)網(wǎng)卡流量、系統(tǒng)狀況監(jiān)控、監(jiān)控主機(jī)的磁盤空間,當(dāng)使用空間超過90%就通過發(fā)mail來發(fā)警告、監(jiān)控CPU和內(nèi)存的使用情況、全方位監(jiān)控主機(jī)),有需要的朋友不妨看看哦
    2013-02-02
  • Linux中刪除文件內(nèi)空行的4種方法

    Linux中刪除文件內(nèi)空行的4種方法

    這篇文章主要介紹了Linux中刪除文件內(nèi)空行的4種方法,需要的朋友可以參考下
    2014-06-06
  • shell 計算器的實現(xiàn)示例

    shell 計算器的實現(xiàn)示例

    在使用Linux時,我們有時會需要做一些計算,那么我們就可能需要用到計算器,本文主要介紹了shell 計算器的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • shell腳本實現(xiàn)日歷的屏幕控制

    shell腳本實現(xiàn)日歷的屏幕控制

    這篇文章主要為大家詳細(xì)介紹了shell腳本實現(xiàn)日歷的屏幕控制,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • shell腳本中 /dev/null 的用法小結(jié)

    shell腳本中 /dev/null 的用法小結(jié)

    /dev/null 通常被用于丟棄不需要的輸出流,或作為用于輸入流的空文件,這些操作通常由重定向完成,任何你想丟棄的數(shù)據(jù)都可以寫入其中,本文重點給大家介紹shell腳本中 /dev/null 的用法小結(jié),感興趣的朋友一起看看吧
    2021-09-09
  • Linux rpm命令參數(shù)使用大全(經(jīng)典)

    Linux rpm命令參數(shù)使用大全(經(jīng)典)

    RPM是RedHat Package Manager(RedHat軟件包管理工具)類似Windows里面的“添加/刪除程序”,本篇文章給大家介紹linux rpm命令參數(shù)使用大全,感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • Hadoop單機(jī)版和全分布式(集群)安裝

    Hadoop單機(jī)版和全分布式(集群)安裝

    Hadoop,分布式的大數(shù)據(jù)存儲和計算, 免費開源,本文介紹Hadoop單機(jī)版、集群安裝步驟。
    2013-10-10
  • 用來記錄登錄后使用命令的shell腳本

    用來記錄登錄后使用命令的shell腳本

    記錄登錄后使用命令的shell腳本,歷史記錄,方便管理員查看記錄
    2013-02-02

最新評論

东光县| 梁河县| 博爱县| 门源| 清流县| 延寿县| 延长县| 阳原县| 三都| 房产| 苍山县| 信丰县| 美姑县| 手游| 东平县| 河曲县| 古丈县| 长顺县| 津南区| 如皋市| 岳池县| 蒙自县| 寻乌县| 通城县| 石林| 承德县| 阿荣旗| 金华市| 肇东市| 龙岩市| 鄱阳县| 淮滨县| 高雄市| 化德县| 五寨县| 游戏| 明光市| 寿光市| 吉安市| 杭州市| 延寿县|