首页 > 代码库 > Linux Bash Shell学习笔记
Linux Bash Shell学习笔记
参数扩展:
1.被名称引用的参数称作变量
2.被数字引用的参数称作位置参数
3.被特定符号引用的参数具有特殊的含义和用途,被称作Bash的特殊内部变量引用。
基本参数扩展:
字符$会引导参数扩展。大括号是可选的,但是大括号可以保护待扩展的变量,使得紧跟大括号后面的内容不会被扩展。
例:
1 $ PARAMETER2 $ {PARAMETER}3 #如果参数名后跟其他字符,大括号是必须的。4 5 $ WORD=car6 $ echo $WORDs
7 $ echo ${WORD}s8 cars
对于$9后面的参数也是要用大括号的。
注意:参数名是大小写敏感的。
间接参数扩展:
1 $ PARAMETER=TEMP2 $ TEMP="It‘s indirect"3 $ echo $PARAMETER4 TEMP5 $ echo ${!PARAMETER}6 it‘s indirec
大小写修改(Bash4.0):
1 $ echo ${PARAMETER^} 2 #将参数的第一个字符改为大写 3 $ echo ${PARAMETER^^} 4 #将参数的全部字符改为大写 5 $ echo ${PARAMETER,} 6 #将参数的第一个字符改为小写 7 $ echo ${PARAMETER,,} 8 #将参数的全部字符改为小写 9 $ echo ${PARANETER~}10 #将参数的第一个字符改为大写11 $ echo ${PARANETER~~}12 #将参数的全部字符改为大写
大小写修改实例:
1 # for file in *.txt2 >do3 >mv "$file" "${file,,}"4 >done
变量名扩展:
1 ${!PREFIX*}2 ${!PREFIX@}3 #列出以字符串PREFI开头的所有变量名
例:列出以BASH开头的所有变量名
1 $echo ${!BASH*}2 BASH BASHOPTS BASHPID BASH_ALIASES BASH_ARGC BASH_ARGV BASH_CMDS BASH_COMMAND BASH_LINENO BASH_SOURCE BASH_SUBSHELL BASH_VERSINFO BASH_VERSION
字符串移除:
1 ${PARAMETER#PATTERN}2 ${PARAMETER##PATTERN}3 #移除从参数值的开头匹配指定模式的字符串4 ${PARAMETER%PATTERN}5 ${PARAMETER%%PATTERN}6 #移除从参数值的结尾匹配指定模式的字符串7 #”#“和”%“表示移除匹配指定模式的最短文本,”##“和”%%“表示移除匹配模式的最长文本。
字符串移除实例:
1 $ MYSTRING="This is used for removing string" 2 $ echo ${MYSTRING#* } 3 is used for removing string 4 5 $echo ${MYSTRING##* } 6 string 7 8 $echo ${MYSTRING% *} 9 This is used for removing10 11 $echo ${MYSTRING%% *}12 This
参数用途,提取文件名的一部分:
1 $ FILENAME=linux_bash.txt 2 3 $ echo ${FILENAME%.*} #移除文件名的后缀 4 linux_bash 5 6 $ echo ${FILENAME##*.} #移除文件名,保留后缀 7 txt 8 9 FILENAME=/home/book/linux_bash.txt10 11 $ echo ${FILENAME%/*} #移除文件名,保留目录名12 /home/book13 14 $ echo ${FILENAME##*/} #移除目录名,保留文件名15 linux_bash.txt
Linux Bash Shell学习笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。