LINUX中${ name[*]} 表达什么意思

LINUX中${ name[*]} 表达什么意思,第1张

在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头部删除*/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7121336.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存