linux shell 键盘输入 $,linuxshell在while中用read从键盘输入的实现

news/2024/11/9 9:49:39/

5268f80b9b1e01f982625ef6fac83ca1.png

系统是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

这个脚本大体上没有什么错,不过在执行sudo apt-get purge $name这一行时,系统询问是否删除。但是这时却没有机会输入,而是直接中止执行。xzc@xzc-HP-ProBook-4446s:~$ ./rm_i386_package.sh

正在读取软件包列表... 完成

正在分析软件包的依赖关系树

正在读取状态信息... 完成

下列软件包将被【卸载】:

libdrm-radeon1:i386*

升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 306 个软件包未被升级。

解压缩后会消耗掉 0 B 的额外空间。

您希望继续执行吗? [Y/n] 中止执行。

批量删除软件这操作,当然要一个确认,不能加个参数默认执行啊。

查了一下资料,大概是说while read line

do

# xxx

done < $file

这样会把read指令重定向为文件$file,这时在while中调用read会直接在文件中取一行作为输入。所以在while中要把read重新定向为终端。上面的脚本稍微修改一行:sudo apt-get purge $name < /dev/tty

这样就OK了。

以上就是小编为大家带来的linux shell在while中用read从键盘输入的实现全部内容了,希望大家多多支持PHP中文网~

更多linux shell在while中用read从键盘输入的实现相关文章请关注PHP中文网!

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网


http://www.ppmy.cn/news/570475.html

相关文章

hw1-浅谈Dota2设计元素

今年的TI9赛事在中国上海举行&#xff0c;可谓是Dota2玩家们的一大幸事。但是&#xff0c;LGD战队止步于季军&#xff0c;也让我们的粉丝心凉了一截。8月25日&#xff0c;OG战队以3比1战胜Liquid战队&#xff0c;将2019Dota2国际邀请赛冠军收入囊中&#xff0c;实现了在该项赛事…

Dota 2 with Large Scale Deep Reinforcement Learning翻译

摘要 2019年4月13日&#xff0c;OpenAI Five成为第一个在电子竞技游戏中击败世界冠军的AI系统。Dota2游戏为AI系统提供了新的挑战&#xff0c;例如长时间相关的视野&#xff0c;不完全的信息和复杂的连续状态动作空间&#xff0c;所有这些挑战将会要求具有更强能力的AI系统。O…

java键盘监听wasd控制_dota2rpg自定义按键绑定及WASD移动的实现

本文的目的是在DOTA2自定义游戏中实现一个WASD控制的8方向移动&#xff0c;如果你想实现的是4方向的&#xff0c;稍微修改一点点代码也可以做到。 通过本文&#xff0c;你也可以了解到DOTA2自定义按键的流程。 本文的所有代码你都可以在我开源的Endless Dungeon项目中找到 一、…

用C#钩子写一个改键外挂

我的微信群——软件开发测试工程师交流群&#xff0c;欢迎扫码&#xff1a; 改键是一种习惯&#xff0c;比如在玩儿lol或者dota的时候。理论上玩儿什么游戏都可以改键。 做一个窗体&#xff08;点击Install——应用改键&#xff0c;点击Uninstall——撤销应用&#xff09;&…

笑傲江湖客户端服务器地址修改,《笑傲江湖》改键调整操作手把手教你玩笑傲...

《笑傲江湖》采用全新引擎AngelicaIII打造&#xff0c;秉承原著武侠精髓&#xff0c;首推新派动作武侠网游概念——融入动作及格斗游戏要素&#xff0c;强调真实的打击感与流畅的动作连贯度&#xff0c;并运用方向判定、位移闪避、移动战斗、攻防一体等多重技术手段&#xff0c…

dota2html颜色代码,技术向教程 如何在DotA2中使用彩色字体

技术向教程 如何在DotA2中使用彩色字体 编译:M82A1炸菜 如何使用16进制编辑器对DotA2文字就行颜色编辑 需要:十六进制编辑器、记事本、控制台 1.打开steam平台 2.在游戏库中选择DotA2,右击,选择属性 3.设置启动项,填入“-console”,确定 4.打开DotA2游戏,并且使用“`”键…

基于低级键盘钩子的dota改键(全局+免DLL注入)MFC实现(源码+总结)

上一篇文章已经写了基于 普通键盘钩子&#xff08;单线程DLL&#xff09;来实现dota改键。http://blog.csdn.net/a576323437/article/details/8037138 这一次&#xff0c;基于 低级键盘钩子 &#xff08;全局 免DLL注入&#xff09;来实现。先看下总结&#xff1a; 低级键盘钩…

dota2游戏c语言,新手科普:Dota2操作按键设置和游戏设置详解

DOTA2的设置里有四个大项。控制&#xff0c;游戏&#xff0c;视频&#xff0c;音频。 后面两个自己根据自己配置水平设置就是。我主要讲控制和游戏。 控制&#xff1a; 页面1&#xff1a;单位行为 攻击&#xff0c;移动&#xff0c;停止&#xff0c;保持这种命令就不用说了。这…