求指教,关于在linux中将回车给变量,该怎么写?

脚本内容如下:
Do you want to change them (Y/N)?(Y)
在后面直接敲回车,即代表Y,怎么写?谢谢!

PIPIONE
浏览 205回答 2
2回答

守着星空守着你

var=value 变量定义并赋值,注意等号前后不能与空格相邻,如果需要有空格(其他特> 殊字符,如$,回车,",',\等)可用转义字符\进行转义。变量命名规则同C语言。变量值两端可以用"或者',"号中的$保持变量特性不变,但'号中的特殊字符即为其字> 面值。echo $var 获取变量的值。neeo@neeo-labtop:~$ hi=hello #定义变量hineeo@neeo-labtop:~$ echo $hi #获取变量hi的值helloneeo@neeo-labtop:~$ hi=$hiworld #像这样不能实现将hi变量值变为helloworld的目的,因为$hiworld被认为是一个变量,而这个变量并不存在,hi变成了空值。neeo@neeo-labtop:~$ echo $hineeo@neeo-labtop:~$ hi=helloneeo@neeo-labtop:~$ hi=$hi,world #但是这样是可以工作的,原因是逗号不是合法变量名的一部分,只有$hi被识别为一个变量。neeo@neeo-labtop:~$ echo $hihello,worldneeo@neeo-labtop:~$ hi=helloneeo@neeo-labtop:~$ hi="$hi"world #可以这样扩充变量值,注意双引号中的$符号依然具有其特殊性。neeo@neeo-labtop:~$ echo $hihelloworldneeo@neeo-labtop:~$ hi=${hi}world #也可以这样,注意{}的位置和双引号的位置是不同的。neeo@neeo-labtop:~$ echo $hihelloworldworldneeo@neeo-labtop:~$ hi='$hi'world #如果你写成了这样(双引号被单引号替代),$符号失去了其特殊性,变成了一个字面值,结果就是下面这样。neeo@neeo-labtop:~$ echo $hi$hiworld有关数组的定义 arr[index]=valueneeo@neeo-labtop:~$ arr[1]=one #这4行定义了一个数组neeo@neeo-labtop:~$ arr[0]=zeroneeo@neeo-labtop:~$ arr[2]=twoneeo@neeo-labtop:~$ arr[10]=tenneeo@neeo-labtop:~$ echo $arr # $arr的结果等同于 arr[0],zeroneeo@neeo-labtop:~$ echo ${arr} #结果同上zeroneeo@neeo-labtop:~$ echo "${arr},${arr[1]}" #看来像${arr[1]}这样可以取得arr[1]的值zero,oneneeo@neeo-labtop:~$ echo $arr[3] #那么这样能取得arr[3]的值么?看结果,不解释zero[3]neeo@neeo-labtop:~$ echo ${arr[3]} #这样应该可以取到了吧!因为arr[3]没有值,当然为空。neeo@neeo-labtop:~$ unset arr #(这里是剧透,unset下面才讲到)有意思的在这里,unset arr并不等同于unset arr[0],事实上,unset把整个arr都干掉了。注意区分上面的 echo $arr。neeo@neeo-labtop:~$ echo ${arr[1]} #被unset扫荡过的arr,1号成员消失了。neeo@neeo-labtop:~$#不要走开哦,下面介绍declare时有数组定义的新方法。neeo@neeo-labtop:~$ arr=(0 1 2) #还可以这样声明数组,注意值之间用空格分隔。neeo@neeo-labtop:~$ echo ${arr}0neeo@neeo-labtop:~$ echo ${arr[2]}2neeo@neeo-labtop:~$declare 和typesetdeclare的执行方式:declare [-aAfFilrtux] [-p] [name[=value] ...]其中:-f #列出函数列表,包括函数体-F #列出函数列表,尽显示名称#------------分隔线,下面是设定变量属性用的-----------a #变量为一个数组(就是类似C语言中的数组,用整数做下标)-A #变量为一个关联数组(用一个字符串做下标,key-value,类似于C#中的字典,健唯一)-i #变量为一个整数-l #变量的值为小写(这是小写的L不适大写的i)-u #变量的值为大写-r #变量为一个只读变量(很彪悍,不能改不能删,见下面讲到的readony)-x #声明为环境变量(类似于export,看下面)-t #变量具有'trace'属性

动漫人物

亲,很高兴为您解答$ v=$'\n'$ echo -n "$v"|od -tx10000000 0a0000001$ echo -n $v|od -tx10000000$ v='\n'$ echo -n "$v"|od -tx10000000 5c 6e0000002
打开App,查看更多内容
随时随地看视频慕课网APP