
运维服务
docker离线安装
一、准备工作:确认架构并下载安装包 1.1 确认目标服务器架构 在目标服务器上执行以下命令,确认系统架构: 输出 x8664:对应 amd64 架构(Intel/AMD 64位服务
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# filename=`ls /opt/sh/*.tar`
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo $filename
/opt/sh/1654144300_2022_06_02_12.10.14_gitlab_backup.tar
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo ${filename##*/}
1654144300_2022_06_02_12.10.14_gitlab_backup.tar
获取变量$filename中从左到右最后一个字符"/"右边边的内容,也就是文件名。
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo $filename
/opt/sh/1654144300_2022_06_02_12.10.14_gitlab_backup.tar
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo ${filename##*.}
tar
获取变量$filename中从左到右最后一个字符"."右边边的内容,这里使用的"."就是文件的后缀,如果是"_"那么获取的就应该是backup.tar了。
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo $filename
/opt/sh/1654144300_2022_06_02_12.10.14_gitlab_backup.tar
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo ${filename#*.}
10.14_gitlab_backup.tar
获取变量$filename中从左到右第一个字符"."右边的内容。
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo $filename
/opt/sh/1654144300_2022_06_02_12.10.14_gitlab_backup.tar
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo ${filename%/*}
/opt/sh
获取变量$filename中,从右到左,第一个字符"/"左边的内容,也就是文件的路径。
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo $filename
/opt/sh/1654144300_2022_06_02_12.10.14_gitlab_backup.tar
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo ${filename%%.*}
/opt/sh/1654144300_2022_06_02_12
获取变量$filename中,从左到右,第一个字符"."左边的内容。
${}总结
${}并不是专门为提取文件名或目录名的,它的使用是变量的提取和替换等等操作,它可以提取非常多的内容,并不一定是上面五个例子中的’/‘或’.’。
- \#:表示从左边算起第一个
- %:表示从右边算起第一个
- \##:表示从左边算起最后一个
- %%:表示从右边算起最后一个
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo $filename /opt/sh/1654144300_2022_06_02_12.10.14_gitlab_backup.tar [wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo $(basename $filename) 1654144300_2022_06_02_12.10.14_gitlab_backup.tar [wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo $(basename $filename .tar) 1654144300_2022_06_02_12.10.14_gitlab_backup [wolf@wulaoer.org🔥🔥🔥🔥 ~]# echo $(dirname $filename) /opt/sh以上是利用shell获取文件名和目录的方法,在使用的时候可以根据需求选择不管是${}还是basename或者dirname,都有自己的索取之处,习惯那个用那个,这里只是记录一下使用方法。
评论 0