shell 笔记 之变量
#!/bin/bash # #开头的行注释 # shell脚本的第一行一般都是#!/bin/bash 表示由/bin/bash负责解释 # 定义变量 str="string value" num=123 echo str is :\"$str\" echo num\'s value is: $num # 注意: # 1、"="两边没有空格,任何空格会导致错误。 # 2、虽然在定义一个字时可以省略引号,但是当定义的变量值多于一个字时(包含空格或制表符),引号是必须的。 # 3、虽然通常可以使用双引号,但可能导致错误。使用单引号禁用了成为扩展的bash特性 # 参数变量(用单引号禁止来扩展) # $0 表示执行的命令本身,如此脚本是 env.sh # $1 表示第一个参数, $2表示第二个参数,如此类推; # $@ 表示一次引用所有的变量,它扩展成所有用空格分隔开的命令行参数; # $# 表示传递给脚本的变量数目; echo '$0 is ' $0 echo '$1 is ' $1 echo '$2 is ' $2 echo '$3 is ' $3 echo '$# is ' $# echo '$@ is ' $@ # 环境变量,使用export命令设置,使用unset取消 export editor=vim unset editor # 变量默认值 # ${parameter:-word} 如果parameter没有设置或者为空,则shell扩展word并替换结果。parameter的值并没有更改。 # ${parameter:=word} 如果parameter没有设置或者为空,则shell扩展word并将结果指派给parameter。这个值然后被替换。不能用这种方式指派位置参数或特殊参数的值。 # ${parameter:?word} 如果parameter没有设置或者为空,shell扩展word并将结果写入标准错误中。如果没有word则写入一条消息。如果shell不是交互的,则表示存在这个扩展。 # ${parameter:+word} 如果parameter没有设置或者为空,则不作替换 unset x y="abc def" echo "/${x:-'xyz'} /${y:-'xyz'} /$x /$y/" unset x y="abc def" echo "/${x:='xyz'} /${y:-'xyz'} /$x /$y/"
相关推荐
laisean 2020-11-11
Julyth 2020-10-16
laisean 2020-09-27
flycappuccino 2020-09-27
liguojia 2020-09-27
firefaith 2020-10-30
libao 2020-09-16
Yyqingmofeige 2020-08-18
xiaoyuerp 2020-08-17
以梦为马不负韶华 2020-08-16
vvu 2020-09-16
吴家应 2020-09-16
huha 2020-10-16
大牛牛 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
以梦为马不负韶华 2020-10-20
JohnYork 2020-10-16
applecarelte 2020-10-16
wangzhaotongalex 2020-09-22
流年浅滩 2020-10-23
liujianhua 2020-10-22
woaimeinuo 2020-10-21
tufeiax 2020-09-03
laisean 2020-09-01