shell -- 交互输入
交互输入与for语句(8-15) 交互输入 1、read的用法:read命令同时可以定义多个变量值,而输入的内容默认可以空格为分配符,将值输入到对应的变量中;如果默认值过多最后所有的值都会被赋予给最后一个变量 2、如果默认是过少,多余的变量则为空值。 3、实例 read a b c ??aa bb cc 4、Read如何输入:echo “请输入一个目录”(我们需要echo -n取消换行符号) ?????????????????Echo “请输入人一个目录:”read变量(请输入一个目录/etc) 5、常用参数:-p? 例:read -p “请输入一个目录”变量 ? ? ? ? -t:定义超时时间? ?例:read -t 5 -p“请输入一个目录:”变量 6、脚本默认值: 练习: 输入一个设备文件,输出这个设备文件的基本信息。
执行结果: 7、case语句的语法格式: case? 变量? in?? PATTEN1) 代码块1 ;; PATTEN2) 代码块2 ;; *) 代码库 esac For语句循环 1、应用场景:有一个功能,该功能需要循环执行,只是循环的对象不同,但是循环对象是同类数据 2、for语句格式: for 变量 in 列表;do ? 循环体 Done 3、echo命令参数:-e:使echo命令能够识别特殊字符 r:回车不换行 n:换行且光标移至行首 t:制表符(tab键) -n:不换行输出 4、列表的生成方式:1、直接给出字符列表(例:for i in a b c d e f;do) 2、整数列表? a{start....end}? ? ?b seq命令引用$(seq [start[step]] end) ?? (seq最常用功能的就是步长) 3、返回列表的命令(例:$(命令)) 4、glob机制----文件名通配符的机制 5、变量应用----传参:[email?protected] $*将参数作为for循环的列表 ?? ?$0和awk不一样,bash中的$0代表运行的脚本文件 ? ??Awk中的$0代表整行内容 ----awk按行执行 ? ??需要多个词的时候用“[email?protected]”,需要一个词的时候用“$” 5、vim常见用法:命令模式下dd为剪切,yy为复制,p为粘贴 6、test命令总结:1、test的命令的参数-a、-o只在命令中使用;注:做字符匹配时不支持正则表达式和通配符 2、test test==[[]],在连接两个test的命令的时候,不能使用命令内部的参数-a、-o,一般使用|| && == != >= <= (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |