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

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

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

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

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

格式大概如下:

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

第2列為包名,第4列是平臺(tái),于是決定寫一個(gè)腳本來刪除:

#!/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

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

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

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

查了一下資料,大概是說

while read line
do
# xxx
done < $file

這樣會(huì)把read指令重定向?yàn)槲募?file,這時(shí)在while中調(diào)用read會(huì)直接在文件中取一行作為輸入。所以在while中要把read重新定向?yàn)榻K端。上面的腳本稍微修改一行:

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

這樣就OK了。

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

相關(guān)文章

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

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

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

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

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

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

    為大家提供五個(gè)常用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 計(jì)算器的實(shí)現(xiàn)示例

    shell 計(jì)算器的實(shí)現(xiàn)示例

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

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

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

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

    /dev/null 通常被用于丟棄不需要的輸出流,或作為用于輸入流的空文件,這些操作通常由重定向完成,任何你想丟棄的數(shù)據(jù)都可以寫入其中,本文重點(diǎn)給大家介紹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ù)存儲(chǔ)和計(jì)算, 免費(fèi)開源,本文介紹Hadoop單機(jī)版、集群安裝步驟。
    2013-10-10
  • 用來記錄登錄后使用命令的shell腳本

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

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

最新評(píng)論

泊头市| 青田县| 阿拉善盟| 广饶县| 土默特左旗| 涪陵区| 揭东县| 蓬莱市| 保定市| 鲁甸县| 鄢陵县| 西乌| 纳雍县| 南通市| 土默特左旗| 北票市| 鹿泉市| 湛江市| 浮山县| 炉霍县| 岢岚县| 寻乌县| 武功县| 阿拉善右旗| 德令哈市| 明溪县| 三台县| 阿合奇县| 台州市| 团风县| 仪陇县| 乐昌市| 安宁市| 西乡县| 北碚区| 鲁山县| 郁南县| 嘉荫县| 古田县| 博兴县| 泰宁县|