linux。shell脚本:判断y/n,以及有默认值,直接回车的shell语句是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux。shell脚本:判断y/n,以及有默认值,直接回车的shell语句是啥?相关的知识,希望对你有一定的参考价值。

在升级内核时,make oldconfig时,判断y/n,以及输入数值,但有默认值,不需要判断输入,直接回车的shell语句是什么???? 求大婶!!!!
1楼只解决了判断yes和no的时候,在升级内核时,make oldconfig时,还会出现这个问题:
Cross-compiler tool prefix (CROSS_COMPILE) [] (NEW)
shell 命令就中断了,怎么解决啊!!! 可以无限加分哈,回答正确的。

参考技术A echo -n "Check?(yes(y)|no(n)): "
read need
case $need in
yes|y)
#do anything you wannt
;;
no|n)
#do anything you wannt
;;
*)
#do anything you wannt as default(直接回车)
;;
esac追问

你这个只解决了判断yes和no
可是安装时还会出现:
Cross-compiler tool prefix (CROSS_COMPILE) [] (NEW)
这个时候你这个脚本就不执行了。
大神! 求解决,给你加分!!!

本回答被提问者采纳
参考技术B 用到有交互的环境,可以试试在主机上装expect工具,很好用的,我以前做巡检的时候,几十台主机都是用expect脚本来完成。expect的语法和shell的很相近,很容易理解。

可以参考:
http://steven607.bokee.com/viewdiary.17558556.html
http://wenku.baidu.com/view/83ef09e9b8f67c1cfad6b800.html

请教会linux shell脚本的=~是什么意思?

[[ ]]:条件判断语句

$i:i是个变量,$i代表读取变量i的值

=~:正则匹百配,用来判断其左侧的参数是否符合右边的要求

^:度以什么开头

^[0-9]:以数字开头

^[0-9]+:以数字开头,且数字有1到多个——加号表示1到多个

$:以什么结尾

^[0-9]+$:以1到多个数字开头,且结尾。——意即:只能有数字,不能问有其他字符

&&:左边的条件满足,右边的命令才会执行。

echo 1:屏显1(在屏幕上显示答,也叫打印)

所以:

[[$i=~^[0-9]+$]]&&echo1的意思是:

变量i的值是纯数字,就屏显1

 

from: https://zhidao.baidu.com/question/433044439967176764.html

 

以上是关于linux。shell脚本:判断y/n,以及有默认值,直接回车的shell语句是啥?的主要内容,如果未能解决你的问题,请参考以下文章

liunx 下的shell语句 if [ ! -d /$1/$2/$3/ ]是啥意思?

Linux shell脚本 判断用户输入的文件类型

shell脚本简介+编写

怎么在linux shell 里自动输入一个数字,比如2,然后自动执行一个回车?

linux shell 判断指定目录下文件或者文件夹最后修改时间是不是大于三天~

Linux shell 脚本时间差耗时计算