您的位置:首页 > 运维架构 > Shell

bash基础之变量替换

2014-04-08 17:53 232 查看
假设我们定义了一个变量为:
file=/dir1/dir2/dir3/my.file.txt
我们可以用 ${ }  分别替换获得不同的值:
${file#*/}              拿掉第一条 /  及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}            拿掉最后一条 /  及其左边的字符串:my.file.txt
${file#*.}              拿掉第一个 .  及其左边的字符串:file.txt
${file##*.}            拿掉最后一个 .  及其左边的字符串:txt
${file%/*}             拿掉最后条 /  及其右边的字符串:/dir1/dir2/dir3
${file%%/*}          拿掉第一条 /  及其右边的字符串:(空值)
${file%.*}             拿掉最后一个 .  及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}          拿掉第一个 .  及其右边的字符串:/dir1/dir2/dir3/my
记忆的方法为:
#是去掉左边(在键盘上 #  在 $  之左边)
%  是去掉右边(在键盘上 %  在 $  之右边)
单一符号是最小匹配﹔两个符号是最大匹配
 


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: