Skip to content

[Linux] Shell script 使用 dictionary 的方法

在 Linux 中我們可以透過編寫 Shell Script 完成各式各樣的功能程式,來讓我們擁有更好的使用體驗。今天我想要紀錄的,是在 Bash 中該如何使用 Dictionary、也就是所謂的雜湊表(hash table)。

hash table 有多好用自然不用多提,實際上使用方法也非常單純。以下是一段簡單的 Sample Code:

#!/bin/bash

declare -A dict
dict=( ['a']=1
       ['b']=2
       ['c']=3 )

for item in "${!dict[@]}"
do
    echo "$item => ${dict[$item]}"
done



Output:

a => 1
b => 2
c => 3

發生錯誤:Syntax error: “(” unexpected

如果在執行時發生以下錯誤:

declare: not found

或者是

Syntax error: "(" unexpected

那麼,很有可能你的 sh 軟連結並不是指向 bash,也就是說,你可能並不是使用 bash 來執行你的程式,你可以使用以下指令查看:

ls -l /bin/sh

如果你顯示的連結不是 bash,比如說是 dash:

lrwxrwxrwx 1 root root 4 一 1 2020 /bin/sh -> dash

那麼就代表 sh 指令並不是使用 bash,可以考慮直接使用 “bash” 來執行程式,或者是將預設的 sh 切換成 bash:

sudo dpkg-reconfigure dash

然後會看到以下這樣的畫面:

這裡選擇 No,sh 就會軟連結到 bash 了。


References


Read More

Tags:

Leave a Reply