补充 bash 数组操作,以及数组传参给函数的用法

pull/36/head
skywind3000 6 years ago
parent f870c70fac
commit cb6bbe95cd

@ -1,6 +1,6 @@
##############################################################################
# BASH CHEATSHEET (中文速查表) - by skywind (created on 2018/02/14)
# Version: 44, Last Modified: 2018/10/17 03:15
# Version: 45, Last Modified: 2019/02/13 12:15
# https://github.com/skywind3000/awesome-cheatsheets
##############################################################################
@ -296,6 +296,14 @@ IFS="/" array=($text) # 按斜杆分隔字符串 text 成数组,并赋值
text="${array[*]}" # 用空格链接数组并赋值给变量
text=$(IFS=/; echo "${array[*]}") # 用斜杠链接数组并赋值给变量
A=( foo bar "a b c" 42 ) # 数组定义
B=("${A[@]:1:2}") # 数组切片B=( bar "a b c" )
C=("${A[@]:1:2}") # 数组切片C=( bar "a b c" 42 )
echo "${B[@]}" # bar a b c
echo "${B[1]}" # a b c
echo "${C[@]}" # bar a b c 42
echo "${C[@]: -2:2}" # a b c 42 减号前的空格是必须的
$(UNIX command) # 运行命令,并将标准输出内容捕获并返回
varname=$(id -u user) # 将用户名为 user 的 uid 赋值给 varname 变量
@ -338,6 +346,7 @@ function myfunc() {
myfunc # 调用函数 myfunc
myfunc arg1 arg2 arg3 # 带参数的函数调用
myfunc "$@" # 将所有参数传递给函数
myfunc "${array[@]}" # 将一个数组当作多个参数传递给函数
shift # 参数左移
unset -f myfunc # 删除函数

Loading…
Cancel
Save