在linux的shell里,${name}可以表示变量,也可以表示
数组。name后面加〔〕的,一般是数组,${name[*]}是数组所有
元素(alloftheelements)${name[@]}是数组每一个元素(eachoftheelements)其实这两个几乎一样,差别主要在于当加上引号时,"${name[*]}"等于所有数组元素及其分隔符(一般是空格)排成的字符串,而"${name[@]}"仍然表示每一个元素。${#name[*]}是数组元素的个数,也可以写成${#name[@]}${name:-Hello}是指,如果${name}没有赋值,那么它等于Hello,如果赋值了,就保持原值,不用管这个Hello了。至于${name[#*/]},好像没有这种写法,可能是你弄错了。${name[%%*]}也不存在。不过,如果是${name##*}就有意义了,不过是空值。本来可以给你解释一下的,但估计说太多就把你弄糊涂了。如果你真的是在看linux的shell的话,可以在网上找advancebashscriptingguide,有中文版的。name根据名字
查找,区分大小写
find . -name "*hello*" 在当前目录查找以hello开头的文件
find / -name hello 在跟目录下查找hello文件
find / -name "*hello*" 在跟目录下查找包含名字里包含hello的文件
2、name根据名字查找,不区分大小写
find . -iname "*hello*"
3、size根据大小查找
find / -size 10M
这个应该是bash的字符串 *** 作. name是变量名称. 比如
name = '/root/test.txt'
result = ${name#*/}
echo $result
#是删除 *** 作符, 删除变量头部匹配的字符串, 本例中即从name头部删除*/
评论列表(0条)