LINUX88 變量:命令定義;普通數組定義(復);declare -i /-x

問題

[code@samba ~]$ array3=(`ls axel-2.4`)
[code@samba ~]$ echo $array3
API
[code@samba ~]$ ls axel-2.4
API             CHANGES    conn.o   gui                README    tcp.o
axel            conf.c     COPYING  http.c             ru.mo     text.c
axel.1          conf.h     CREDITS  http.h             ru.po     text.o
axel.c          config.h   de.mo    http.o             search.c  zh_CN.mo
axel.h          configure  de.po    Makefile           search.h  zh_CN.po
axel.o          conf.o     ftp.c    Makefile.settings  search.o
axelrc.example  conn.c     ftp.h    nl.mo              tcp.c
axel_zh_CN.1    conn.h     ftp.o    nl.po              tcp.h

在這里插入圖片描述

[code@samba ~]$ echo $array3
API
[code@samba ~]$ ls axel-2.4
API             CHANGES    conn.o   gui                README    tcp.o
axel            conf.c     COPYING  http.c             ru.mo     text.c
axel.1          conf.h     CREDITS  http.h             ru.po     text.o
axel.c          config.h   de.mo    http.o             search.c  zh_CN.mo
axel.h          configure  de.po    Makefile           search.h  zh_CN.po
axel.o          conf.o     ftp.c    Makefile.settings  search.o
axelrc.example  conn.c     ftp.h    nl.mo              tcp.c
axel_zh_CN.1    conn.h     ftp.o    nl.po              tcp.h
[code@samba ~]$ echo $array3[@]
API[@]
[code@samba ~]$ echo "${array3[@]}"
API axel axel.1 axel.c axel.h axel.o axelrc.example axel_zh_CN.1 CHANGES conf.c conf.h config.h configure conf.o conn.c conn.h conn.o COPYING CREDITS de.mo de.po ftp.c ftp.h ftp.o gui http.c http.h http.o Makefile Makefile.settings nl.mo nl.po README ru.mo ru.po search.c search.h search.o tcp.c tcp.h tcp.o text.c text.o zh_CN.mo zh_CN.po

() {} []

變量

有類型變量

declare [選項] a=1

[選項] -i

declare -i a=1
變量整數

[code@samba ~]$ echo $name
3.10.0-1160.el7.x86_64
[code@samba ~]$ a=10
[code@samba ~]$ b=20
[code@samba ~]$ echo $a+$b
10+20
[code@samba ~]$ declare -i a=10
[code@samba ~]$ declare -i b=20
[code@samba ~]$ declare -i c=$a+$b
[code@samba ~]$ echo $c
30

-x

定義環境變量
declare -x b=1
env |grep b

[code@samba ~]$ AAA=hello
[code@samba ~]$ export AAA
[code@samba ~]$ env|grep AAA
AAA=hello
[code@samba ~]$ declare -x BBB=hello
[code@samba ~]$ env|grep BBB
BBB=hello

數組

定義

array[0]=a
a=array3[a,bm,c,s,s]
a=arrayd{ls ./}
a=array4[var1 var3 var4 var5]

array3=(a,bn,s,cs)
array4=( ls ./ )
array5=(var1 var3 var4)
array6=(a v s d [10]=linux)

[code@samba ~]$ array[0]=v1
[code@samba ~]$ array[1]=v2
[code@samba ~]$ array[3]=v3
[code@samba ~]$ array=(var1 var2 var3 var4)
[code@samba ~]$ array1=(`cat /etc/passwd`)
[code@samba ~]$ echo $array1
root:x:0:0:root:/root:/bin/bash
[code@samba ~]$ array2=(`ls /root`)
ls: 無法打開目錄/root: 權限不夠
[code@samba ~]$ ls
1.sh                    axel-2.4.tar.gz       inotify-tools-3.13.tar.gz  視頻  桌面
apr-1.5.2.tar.bz2       bash_var.sh           mysql-5.6.31.tar.gz        圖片
apr-util-1.5.4.tar.bz2  httpd-2.4.37.tar.bz2  nohup.out                  文檔
axel-1.0a.tar.gz        inotify.sh            公共                       下載
axel-2.4                inotify-tools-3.13    模板                       音樂
[code@samba ~]$ mkdir 1
[code@samba ~]$ ls
1                       axel-2.4              inotify-tools-3.13         模板  音樂
1.sh                    axel-2.4.tar.gz       inotify-tools-3.13.tar.gz  視頻  桌面
apr-1.5.2.tar.bz2       bash_var.sh           mysql-5.6.31.tar.gz        圖片
apr-util-1.5.4.tar.bz2  httpd-2.4.37.tar.bz2  nohup.out                  文檔
axel-1.0a.tar.gz        inotify.sh            公共                       下載
[code@samba ~]$ array2=(`ls /1`)
ls: 無法訪問/1: 沒有那個文件或目錄
[code@samba ~]$ array2=(`ls 1`)
[code@samba ~]$ echo $array2[code@samba ~]$ array3=(`ls axel-2.4`)
[code@samba ~]$ echo $array3
API

讀取

全部元素

echo ${array3[@]}
echo ${array4[*]}

數組索引

echo ${!array5[@]}

指定索引下標

echo ${array6[2]}
echo ${array[5]:2:3}
讀取array5從2開始后面3個元素

[code@samba ~]$ echo "${array3[@]}"
API axel axel.1 axel.c axel.h axel.o axelrc.example axel_zh_CN.1 CHANGES conf.c conf.h config.h configure conf.o conn.c conn.h conn.o COPYING CREDITS de.mo de.po ftp.c ftp.h ftp.o gui http.c http.h http.o Makefile Makefile.settings nl.mo nl.po README ru.mo ru.po search.c search.h search.o tcp.c tcp.h tcp.o text.c text.o zh_CN.mo zh_CN.po
[code@samba ~]$ array3=(harry a j "1")
[code@samba ~]$ array4=(1 2 3 4 "hello world" [10]=linux)
[code@samba ~]$ echo ${array4[0]}
1
[code@samba ~]$ echo ${array4[@]}
1 2 3 4 hello world linux
[code@samba ~]$ echo ${array4[#]}
-bash: #: 語法錯誤: 期待操作數 (錯誤符號是 "#")
[code@samba ~]$ echo ${array4[*]}
1 2 3 4 hello world linux
[code@samba ~]$ echo ${!array4[@]}
0 1 2 3 4 10
[code@samba ~]$ echo ${!array4[@]}
0 1 2 3 4 10
[code@samba ~]$ echo ${!array3[@]}
0 1 2 3
[code@samba ~]$ echo ${array4[@]:1:2}
2 3
[code@samba ~]$ echo ${array3[@:3:3]}
-bash: @:3:3: 語法錯誤: 期待操作數 (錯誤符號是 "@:3:3"[code@samba ~]$ echo ${array3[@]:3:3}
1
[code@samba ~]$ echo ${array3[@]}
harry a j 1
[code@samba ~]$ echo ${array3[@]:1:2}
a j

declare -a

查看普通數組信息

[code@samba ~]$ declare -a
declare -a BASH_ARGC='()'
declare -a BASH_ARGV='()'
declare -a BASH_LINENO='()'
declare -ar BASH_REMATCH='()'
declare -a BASH_SOURCE='()'
declare -ar BASH_VERSINFO='([0]="4" [1]="2" [2]="46" [3]="2" [4]="release" [5]="x86_64-redhat-linux-gnu")'
declare -a DIRSTACK='()'
declare -a FUNCNAME='()'
declare -a GROUPS='()'
declare -a PIPESTATUS='([0]="0")'
declare -a array='([0]="var1" [1]="var2" [2]="var3" [3]="var4")'
declare -a array1='([0]="root:x:0:0:root:/root:/bin/bash" [1]="bin:x:1:1:bin:/bin:/sbin/nologin" [2]="daemon:x:2:2:daemon:/sbin:/sbin/nologin" [3]="adm:x:3:4:adm:/var/adm:/sbin/nologin" [4]="lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin" [5]="sync:x:5:0:sync:/sbin:/bin/sync" [6]="shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown" [7]="halt:x:7:0:halt:/sbin:/sbin/halt" [8]="mail:x:8:12:mail:/var/spool/mail:/sbin/nologin" [9]="operator:x:11:0:operator:/root:/sbin/nologin" [10]="games:x:12:100:games:/usr/games:/sbin/nologin" [11]="ftp:x:14:50:FTP" [12]="User:/var/ftp:/sbin/nologin" [13]="nobody:x:99:99:Nobody:/:/sbin/nologin" [14]="systemd-network:x:192:192:systemd" [15]="Network" [16]="Management:/:/sbin/nologin" [17]="dbus:x:81:81:System" [18]="message" [19]="bus:/:/sbin/nologin" [20]="polkitd:x:999:998:User" [21]="for" [22]="polkitd:/:/sbin/nologin" [23]="libstoragemgmt:x:998:995:daemon" [24]="account" [25]="for" [26]="libstoragemgmt:/var/run/lsm:/sbin/nologin" [27]="colord:x:997:994:User" [28]="for" [29]="colord:/var/lib/colord:/sbin/nologin" [30]="rpc:x:32:32:Rpcbind" [31]="Daemon:/var/lib/rpcbind:/sbin/nologin" [32]="saned:x:996:993:SANE" [33]="scanner" [34]="daemon" [35]="user:/usr/share/sane:/sbin/nologin" [36]="gluster:x:995:992:GlusterFS" [37]="daemons:/run/gluster:/sbin/nologin" [38]="saslauth:x:994:76:Saslauthd" [39]="user:/run/saslauthd:/sbin/nologin" [40]="abrt:x:173:173::/etc/abrt:/sbin/nologin" [41]="setroubleshoot:x:993:990::/var/lib/setroubleshoot:/sbin/nologin" [42]="rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin" [43]="pulse:x:171:171:PulseAudio" [44]="System" [45]="Daemon:/var/run/pulse:/sbin/nologin" [46]="radvd:x:75:75:radvd" [47]="user:/:/sbin/nologin" [48]="chrony:x:992:987::/var/lib/chrony:/sbin/nologin" [49]="unbound:x:991:986:Unbound" [50]="DNS" [51]="resolver:/etc/unbound:/sbin/nologin" [52]="qemu:x:107:107:qemu" [53]="user:/:/sbin/nologin" [54]="tss:x:59:59:Account" [55]="used" [56]="by" [57]="the" [58]="trousers" [59]="package" [60]="to" [61]="sandbox" [62]="the" [63]="tcsd" [64]="daemon:/dev/null:/sbin/nologin" [65]="sssd:x:990:984:User" [66]="for" [67]="sssd:/:/sbin/nologin" [68]="usbmuxd:x:113:113:usbmuxd" [69]="user:/:/sbin/nologin" [70]="geoclue:x:989:983:User" [71]="for" [72]="geoclue:/var/lib/geoclue:/sbin/nologin" [73]="ntp:x:38:38::/etc/ntp:/sbin/nologin" [74]="gdm:x:42:42::/var/lib/gdm:/sbin/nologin" [75]="rpcuser:x:29:29:RPC" [76]="Service" [77]="User:/var/lib/nfs:/sbin/nologin" [78]="nfsnobody:x:65534:65534:Anonymous" [79]="NFS" [80]="User:/var/lib/nfs:/sbin/nologin" [81]="gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin" [82]="sshd:x:74:74:Privilege-separated" [83]="SSH:/var/empty/sshd:/sbin/nologin" [84]="avahi:x:70:70:Avahi" [85]="mDNS/DNS-SD" [86]="Stack:/var/run/avahi-daemon:/sbin/nologin" [87]="postfix:x:89:89::/var/spool/postfix:/sbin/nologin" [88]="tcpdump:x:72:72::/:/sbin/nologin" [89]="caozx26:x:1000:1000:caozx26:/home/caozx26:/bin/bash" [90]="code:x:1001:1001::/home/code:/bin/bash" [91]="rsync:x:1002:1002::/home/rsync:/sbin/nologin" [92]="apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin" [93]="user01:x:1003:1003::/home/user01:/bin/bash" [94]="u02:x:1004:1005::/home/u02:/bin/bash" [95]="u03:x:13:48::/home/u03:/bin/bash" [96]="mysql:x:987:981::/home/mysql:/sbin/nologin")'
declare -a array2='()'
declare -a array3='([0]="harry" [1]="a" [2]="j" [3]="1")'
declare -a array4='([0]="1" [1]="2" [2]="3" [3]="4" [4]="hello world" [10]="linux")'

命令

a=ls ./


a=$[ ]

a=$()

[code@samba ~]$ kernel=`uname -r`
[code@samba ~]$ echo $kernal[code@samba ~]$ uname -r
3.10.0-1160.el7.x86_64
[code@samba ~]$ kernel=`uname -r`
[code@samba ~]$ echo $kernel
3.10.0-1160.el7.x86_64
[code@samba ~]$ name=$(uname -r)
[code@samba ~]$ echo $name
3.10.0-1160.el7.x86_64

筆記

    ┌──────────────────────────────────────────────────────────────────────┐│                 ? MobaXterm Personal Edition v23.2 ?                 ││               (SSH client, X server and network tools)               ││                                                                      ││ ? SSH session to code@192.168.235.10                                 ││   ? Direct SSH      :  ?                                             ││   ? SSH compression :  ?                                             ││   ? SSH-browser     :  ?                                             ││   ? X11-forwarding  :  ?  (remote display is forwarded through SSH)  ││                                                                      ││ ? For more info, ctrl+click on help or visit our website.            │└──────────────────────────────────────────────────────────────────────┘Last login: Sun Aug  3 15:31:49 2025 from 192.168.235.1
[code@samba ~]$ hostname
samba.web.cn
[code@samba ~]$ kernel=`uname -r`
[code@samba ~]$ echo $kernal[code@samba ~]$ uname -r
3.10.0-1160.el7.x86_64
[code@samba ~]$ kernel=`uname -r`
[code@samba ~]$ echo $kernel
3.10.0-1160.el7.x86_64
[code@samba ~]$ name=$(uname -r)
[code@samba ~]$ echo $name
3.10.0-1160.el7.x86_64
[code@samba ~]$ a=10
[code@samba ~]$ b=20
[code@samba ~]$ echo $a+$b
10+20
[code@samba ~]$ declare -i a=10
[code@samba ~]$ declare -i b=20
[code@samba ~]$ declare -i c=$a+$b
[code@samba ~]$ echo $c
30
[code@samba ~]$ AAA=hello
[code@samba ~]$ export AAA
[code@samba ~]$ env|grep AAA
AAA=hello
[code@samba ~]$ declare -x BBB=hello
[code@samba ~]$ env|grep BBB
BBB=hello
[code@samba ~]$ array[0]=v1
[code@samba ~]$ array[1]=v2
[code@samba ~]$ array[3]=v3
[code@samba ~]$ array=(var1 var2 var3 var4)
[code@samba ~]$ array1=(`cat /etc/passwd`)
[code@samba ~]$ echo $array1
root:x:0:0:root:/root:/bin/bash
[code@samba ~]$ array2=(`ls /root`)
ls: 無法打開目錄/root: 權限不夠
[code@samba ~]$ ls
1.sh                    axel-2.4.tar.gz       inotify-tools-3.13.tar.gz  視頻  桌面
apr-1.5.2.tar.bz2       bash_var.sh           mysql-5.6.31.tar.gz        圖片
apr-util-1.5.4.tar.bz2  httpd-2.4.37.tar.bz2  nohup.out                  文檔
axel-1.0a.tar.gz        inotify.sh            公共                       下載
axel-2.4                inotify-tools-3.13    模板                       音樂
[code@samba ~]$ mkdir 1
[code@samba ~]$ ls
1                       axel-2.4              inotify-tools-3.13         模板  音樂
1.sh                    axel-2.4.tar.gz       inotify-tools-3.13.tar.gz  視頻  桌面
apr-1.5.2.tar.bz2       bash_var.sh           mysql-5.6.31.tar.gz        圖片
apr-util-1.5.4.tar.bz2  httpd-2.4.37.tar.bz2  nohup.out                  文檔
axel-1.0a.tar.gz        inotify.sh            公共                       下載
[code@samba ~]$ array2=(`ls /1`)
ls: 無法訪問/1: 沒有那個文件或目錄
[code@samba ~]$ array2=(`ls 1`)
[code@samba ~]$ echo $array2[code@samba ~]$ array3=(`ls axel-2.4`)
[code@samba ~]$ echo $array3
API
[code@samba ~]$ ls axel-2.4
API             CHANGES    conn.o   gui                README    tcp.o
axel            conf.c     COPYING  http.c             ru.mo     text.c
axel.1          conf.h     CREDITS  http.h             ru.po     text.o
axel.c          config.h   de.mo    http.o             search.c  zh_CN.mo
axel.h          configure  de.po    Makefile           search.h  zh_CN.po
axel.o          conf.o     ftp.c    Makefile.settings  search.o
axelrc.example  conn.c     ftp.h    nl.mo              tcp.c
axel_zh_CN.1    conn.h     ftp.o    nl.po              tcp.h
[code@samba ~]$ echo $array3[@]
API[@]
[code@samba ~]$ echo "${array3[@]}"
API axel axel.1 axel.c axel.h axel.o axelrc.example axel_zh_CN.1 CHANGES conf.c conf.h config.h configure conf.o conn.c conn.h conn.o COPYING CREDITS de.mo de.po ftp.c ftp.h ftp.o gui http.c http.h http.o Makefile Makefile.settings nl.mo nl.po README ru.mo ru.po search.c search.h search.o tcp.c tcp.h tcp.o text.c text.o zh_CN.mo zh_CN.po
[code@samba ~]$ array3=(harry a j "1")
[code@samba ~]$ array4=(1 2 3 4 "hello world" [10]=linux)
[code@samba ~]$ echo ${array4[0]}
1
[code@samba ~]$ echo ${array4[@]}
1 2 3 4 hello world linux
[code@samba ~]$ echo ${array4[#]}
-bash: #: 語法錯誤: 期待操作數 (錯誤符號是 "#")
[code@samba ~]$ echo ${array4[*]}
1 2 3 4 hello world linux
[code@samba ~]$ echo ${!array4[@]}
0 1 2 3 4 10
[code@samba ~]$ echo ${!array4[@]}
0 1 2 3 4 10
[code@samba ~]$ echo ${!array3[@]}
0 1 2 3
[code@samba ~]$ echo ${array4[@]:1:2}
2 3
[code@samba ~]$ echo ${array3[@:3:3]}
-bash: @:3:3: 語法錯誤: 期待操作數 (錯誤符號是 "@:3:3"[code@samba ~]$ echo ${array3[@]:3:3}
1
[code@samba ~]$ echo ${array3[@]}
harry a j 1
[code@samba ~]$ echo ${array3[@]:1:2}
a j
[code@samba ~]$ declare -a
declare -a BASH_ARGC='()'
declare -a BASH_ARGV='()'
declare -a BASH_LINENO='()'
declare -ar BASH_REMATCH='()'
declare -a BASH_SOURCE='()'
declare -ar BASH_VERSINFO='([0]="4" [1]="2" [2]="46" [3]="2" [4]="release" [5]="x86_64-redhat-linux-gnu")'
declare -a DIRSTACK='()'
declare -a FUNCNAME='()'
declare -a GROUPS='()'
declare -a PIPESTATUS='([0]="0")'
declare -a array='([0]="var1" [1]="var2" [2]="var3" [3]="var4")'
declare -a array1='([0]="root:x:0:0:root:/root:/bin/bash" [1]="bin:x:1:1:bin:/bin:/sbin/nologin" [2]="daemon:x:2:2:daemon:/sbin:/sbin/nologin" [3]="adm:x:3:4:adm:/var/adm:/sbin/nologin" [4]="lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin" [5]="sync:x:5:0:sync:/sbin:/bin/sync" [6]="shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown" [7]="halt:x:7:0:halt:/sbin:/sbin/halt" [8]="mail:x:8:12:mail:/var/spool/mail:/sbin/nologin" [9]="operator:x:11:0:operator:/root:/sbin/nologin" [10]="games:x:12:100:games:/usr/games:/sbin/nologin" [11]="ftp:x:14:50:FTP" [12]="User:/var/ftp:/sbin/nologin" [13]="nobody:x:99:99:Nobody:/:/sbin/nologin" [14]="systemd-network:x:192:192:systemd" [15]="Network" [16]="Management:/:/sbin/nologin" [17]="dbus:x:81:81:System" [18]="message" [19]="bus:/:/sbin/nologin" [20]="polkitd:x:999:998:User" [21]="for" [22]="polkitd:/:/sbin/nologin" [23]="libstoragemgmt:x:998:995:daemon" [24]="account" [25]="for" [26]="libstoragemgmt:/var/run/lsm:/sbin/nologin" [27]="colord:x:997:994:User" [28]="for" [29]="colord:/var/lib/colord:/sbin/nologin" [30]="rpc:x:32:32:Rpcbind" [31]="Daemon:/var/lib/rpcbind:/sbin/nologin" [32]="saned:x:996:993:SANE" [33]="scanner" [34]="daemon" [35]="user:/usr/share/sane:/sbin/nologin" [36]="gluster:x:995:992:GlusterFS" [37]="daemons:/run/gluster:/sbin/nologin" [38]="saslauth:x:994:76:Saslauthd" [39]="user:/run/saslauthd:/sbin/nologin" [40]="abrt:x:173:173::/etc/abrt:/sbin/nologin" [41]="setroubleshoot:x:993:990::/var/lib/setroubleshoot:/sbin/nologin" [42]="rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin" [43]="pulse:x:171:171:PulseAudio" [44]="System" [45]="Daemon:/var/run/pulse:/sbin/nologin" [46]="radvd:x:75:75:radvd" [47]="user:/:/sbin/nologin" [48]="chrony:x:992:987::/var/lib/chrony:/sbin/nologin" [49]="unbound:x:991:986:Unbound" [50]="DNS" [51]="resolver:/etc/unbound:/sbin/nologin" [52]="qemu:x:107:107:qemu" [53]="user:/:/sbin/nologin" [54]="tss:x:59:59:Account" [55]="used" [56]="by" [57]="the" [58]="trousers" [59]="package" [60]="to" [61]="sandbox" [62]="the" [63]="tcsd" [64]="daemon:/dev/null:/sbin/nologin" [65]="sssd:x:990:984:User" [66]="for" [67]="sssd:/:/sbin/nologin" [68]="usbmuxd:x:113:113:usbmuxd" [69]="user:/:/sbin/nologin" [70]="geoclue:x:989:983:User" [71]="for" [72]="geoclue:/var/lib/geoclue:/sbin/nologin" [73]="ntp:x:38:38::/etc/ntp:/sbin/nologin" [74]="gdm:x:42:42::/var/lib/gdm:/sbin/nologin" [75]="rpcuser:x:29:29:RPC" [76]="Service" [77]="User:/var/lib/nfs:/sbin/nologin" [78]="nfsnobody:x:65534:65534:Anonymous" [79]="NFS" [80]="User:/var/lib/nfs:/sbin/nologin" [81]="gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin" [82]="sshd:x:74:74:Privilege-separated" [83]="SSH:/var/empty/sshd:/sbin/nologin" [84]="avahi:x:70:70:Avahi" [85]="mDNS/DNS-SD" [86]="Stack:/var/run/avahi-daemon:/sbin/nologin" [87]="postfix:x:89:89::/var/spool/postfix:/sbin/nologin" [88]="tcpdump:x:72:72::/:/sbin/nologin" [89]="caozx26:x:1000:1000:caozx26:/home/caozx26:/bin/bash" [90]="code:x:1001:1001::/home/code:/bin/bash" [91]="rsync:x:1002:1002::/home/rsync:/sbin/nologin" [92]="apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin" [93]="user01:x:1003:1003::/home/user01:/bin/bash" [94]="u02:x:1004:1005::/home/u02:/bin/bash" [95]="u03:x:13:48::/home/u03:/bin/bash" [96]="mysql:x:987:981::/home/mysql:/sbin/nologin")'
declare -a array2='()'
declare -a array3='([0]="harry" [1]="a" [2]="j" [3]="1")'
declare -a array4='([0]="1" [1]="2" [2]="3" [3]="4" [4]="hello world" [10]="linux")'
[code@samba ~]$ declare -i d=2
[code@samba ~]$ echo $d
2
[code@samba ~]$ echo ${!array3[@]}
0 1 2 3
[code@samba ~]$ echo ${array}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918465.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918465.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918465.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數字IC后端PPA優化| Timing一致性調整方法和Module Region規劃方法

Q1:直播課經常講到一致性,這個一致性的話一般是指place,CTS和PT的derating time,uncertainty和transition嗎,我大概知道innovus的uncertainty設置要比PT里面高一點,但具體設計時這幾部分的大小應該是一個什么樣的關系或…

電子電氣架構 --- 軟件定義汽車的驅動和挑戰

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 做到欲望極簡,了解自己的真實欲望,不受外在潮流的影響,不盲從,不跟風。把自己的精力全部用在自己。一是去掉多余,凡事找規律,基礎是誠信;二是…

機器學習——10 支持向量機SVM

1 支持向量機 1.1 故事引入看下圖左邊,藍色和紅色的點混在一起,這就像一堆數據,沒辦法用一條簡單的直線把它們分開。再看下圖右邊,有一條直線把藍色和紅色的點分開,這就是SVM在找的“決策邊界”,它能把不同…

若以微服務部署踩坑點

windows docker desktop 部署nacos mysql1、docker部署nacosdocker pull nacos/nacos-server:v2.4.3docker啟動命令 docker run --name nacos -d -p 8848:8848 -p 9848:9848 -p 9849:9849 --privilegedtrue --network bridge -e MODEstandalone -e SPRING_DATASOURCE_PLATFORMm…

Lua基礎+Lua數據類型

Lua基礎 Lua介紹 特點:輕量、小巧。C語言開發。開源。 設計的目的:嵌入到應用程序當中,提供靈活的擴展和定制化的功能。 luanginx,luaredis。 環境安裝 windows上安裝lua: 檢查機器上是否有lua C:\Users\cpf>lua lu…

基于VuePress2開發文檔自部署及嵌入VUE項目

最近在搞前端開發幫助文檔,轉了一圈發現Vue提供了一個高性能的、Vue驅動的靜態網站生成框架-VuePress。VuePress 是一個以 Markdown 為中心的靜態網站生成器。你可以使用 Markdown 來書寫內容(如文檔、博客等),然后 VuePress 會生…

Flask初步學習

文章目錄一、初識Flask1.1 Pycharm修改環境配置1.2 運行第一個flask項目1.3 獲取數據請求1.3.1 動態路由參數一、初識Flask 1.1 Pycharm修改環境配置 file——settings——project——python Interpreter——add interpreter——add local interpreter 1.2 運行第一個fla…

word的正則替換

word查看選中了幾行 word替換掉空行 替換空行 按下 “Ctrl H” 組合鍵打開 “查找和替換” 對話框,在 “查找內容” 框中輸入 “pp”,“^p” 代表段落標記,兩個 “^p” 表示連續的兩個段落標記,即空行。在 “替換為” 框中輸入 “…

Spring Framework源碼解析——DisposableBean

版權聲明 本文原創作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl一、概述 DisposableBean 是 Spring 框架中用于定義 Bean 銷毀時回調行為的核心接口之一。它提供了一個標準化的鉤子方法 destroy(),允許 Bean 在容器關閉或作用域…

linux安裝和使用git

Linux 上安裝 Git 在 Linux 上安裝 Git,你可以按照以下步驟進行: 打開終端:打開你的 Linux 終端應用程序。通常可以通過在應用程序菜單中搜索 "Terminal" 或 "終端" 來找到它。 更新軟件包列表:運行以下命令…

數字圖像處理4

預處理——ROI——形態學處理形態學處理形態學變化只能在二值圖上處理1.腐蝕Erode對kernel映射的區域做與操作,包括自己在內如果有0則中間賦值成02.膨脹Dilate對kernel映射的區域做或操作,包括自己在內如果有1則中間賦值成13.其他操作開操作:…

Solon v3.4.3 發布(國產 Java 應用開發生態基座)

Solon 框架! Solon 是新一代,Java 企業級應用開發框架。從零開始構建(No Java-EE),有靈活的接口規范與開放生態。采用商用友好的 Apache 2.0 開源協議,是“杭州無耳科技有限公司”開源的根級項目&#xff…

Spring-Security-5.7.11升級6.5.2

1.Session Management 1.1.必須明確調用SecurityContextRepository保存SecurityContext 在Spring Security 5中,默認行為是SecurityContext使用SecurityContextPersistenceFilter自動保存到SecurityContextRepository。 //版本5.7.11 //SecurityContextPersisten…

docker下載安裝和使用(Hyper-V方式)

1.環境準備 左鍵單擊電腦左下角開始按鈕—>點擊“設置”—>搜索“Windows功能”—>啟用或關閉Windows功能—>勾選Hyper-v,啟用后電腦會重啟,安裝環境配置成功。 選擇 Hyper-v2.下載docker docker官網下載地址:https://www.docker…

【消息隊列】RabbitMQ “消息隊列模式” 以及NET8集成

在 .NET 8 中集成 RabbitMQ 消息隊列,可以使用官方推薦的 RabbitMQ.Client 庫或封裝好的 MassTransit/EasyNetQ 等高級庫。以下是 RabbitMQ 的基本集成代碼 和 常見消息模式 的實現。 RabbitMQ 本身并沒有直接支持延時消息的功能,但是可以通過一些機制來…

Docker 鏡像常見標簽(如 `標準`、`slim`、`alpine` 和 `noble`)詳細對比

以下是 Docker 鏡像常見標簽(如 標準、slim、alpine 和 noble)的詳細對比,涵蓋基礎系統、體積、適用場景及注意事項:1. 標準鏡像(無后綴) 基礎系統:完整 Linux 發行版(如 Debian、Ub…

(1-9-2)Java 工廠模式

目錄 1.設計模式與分類 2. 工廠模式 2.1 工廠模式概述 2.2 簡單工廠 2.3 學生推薦就業Demo 00.項目目錄 01. 創建抽象接口Job 02. 創建實體類 03. 創建推薦工作工廠類 04. 創建學生推薦就業客戶類 3. i18n國際化語言標題自適應 00. 實現效果 01. 創建抽象接口 02…

QT遠程開發技巧

交叉編譯時野火提供的文件 交叉編譯器 GNU官網可以下載, QT庫文件這里給的QT-everyWhere版本,是開源版本需要自行編譯。(遠程服務器通常是PC架構【AMD64】,直接apt-get install下載的qt也是Pc架構的,不能直接在板卡【ARM64】上運行,必須對源碼交叉編譯) 注意QT遵從GPL開源…

Linux操作系統從入門到實戰(十九)進程狀態

Linux操作系統從入門到實戰(十九)進程狀態前言一、什么是進程狀態二、狀態本質三、最核心的3種狀態1. 就緒狀態2. 運行狀態3. 阻塞狀態四、狀態變化的核心1/兩種資源如何影響狀態?五、操作系統怎么管理這些狀態?六、Linux里結構體…

容器技術之docker

容器技術之Docker一、什么是Docker二、為什么會出現Docker2.1 環境一致性問題2.2 虛擬化技術的局限性2.3 微服務架構的興起三、重要概念3.1 什么是鏡像3.2 什么是容器3.3 總結:3.4 Docker倉庫四、安裝Docker(Ubuntu系統下)1.卸載老的版本2.更…