Bash

組合 Bash 關聯數組

  • January 10, 2016

我正在嘗試製作一個按需組合數組的腳本。這是腳本:

#! /bin/bash
declare -A code
code=( [H]="h" [E]="e" [L]="l" [P]="p" [M]="m" [E]="e" )

當我在命令提示符下輸入 ./filename.bash “HELP ME” 時,我需要列印“幫助我” - 不帶引號並在一行中。這是我正在使用的。

code=$1;
for (( i = 0; i < ${#code[@]} ; i  = $i + 1 ));
do;
echo ${code[@]:$i:1};
done

試試這個script.sh "HELP ME"

#!/bin/bash

input=$1;
declare -A code
code=( [H]="h" [E]="e" [L]="l" [P]="p" [M]="m" [E]="e" )

for ((i=0; i<${#input}; i++))
do
 if [[ "${input:$i:1}" = " " ]]; then     # whitespace?
   echo -n " "
 else
   echo -n "${code[${input:$i:1}]}"
 fi
done

輸出:

幫我

引用自:https://unix.stackexchange.com/questions/202599