⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 embedded-arrays.sh

📁 Shall高级编程
💻 SH
字号:
#!/bin/bash# embedded-arrays.sh# Embedded arrays and indirect references.# This script by Dennis Leeuw.# Used with permission.# Modified by document author.ARRAY1=(        VAR1_1=value11        VAR1_2=value12        VAR1_3=value13)ARRAY2=(        VARIABLE="test"        STRING="VAR1=value1 VAR2=value2 VAR3=value3"        ARRAY21=${ARRAY1[*]})       # Embed ARRAY1 within this second array.function print () {        OLD_IFS="$IFS"        IFS=$'\n'       #  To print each array element                        #+ on a separate line.        TEST1="ARRAY2[*]"        local ${!TEST1} # See what happens if you delete this line.        #  Indirect reference.	#  This makes the components of $TEST1	#+ accessible to this function.        #  Let's see what we've got so far.        echo        echo "\$TEST1 = $TEST1"       #  Just the name of the variable.        echo; echo        echo "{\$TEST1} = ${!TEST1}"  #  Contents of the variable.                                      #  That's what an indirect                                      #+ reference does.        echo        echo "-------------------------------------------"; echo        echo        # Print variable        echo "Variable VARIABLE: $VARIABLE"	        # Print a string element        IFS="$OLD_IFS"        TEST2="STRING[*]"        local ${!TEST2}      # Indirect reference (as above).        echo "String element VAR2: $VAR2 from STRING"        # Print an array element        TEST2="ARRAY21[*]"        local ${!TEST2}      # Indirect reference (as above).        echo "Array element VAR1_1: $VAR1_1 from ARRAY21"}printechoexit 0#   As the author of the script notes,#+ "you can easily expand it to create named-hashes in bash."#   (Difficult) exercise for the reader: implement this.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -