オンデマンド配列を結合するスクリプトを作成しようとしています。スクリプトは次のとおりです。
#! /bin/bash
declare -A code
code=( [H]="h" [E]="e" [L]="l" [P]="p" [M]="m" [E]="e" )
コマンドプロンプトで./filename.bash "HELP ME"と入力すると、「help me」を引用符なしで1行で印刷する必要があります。これが私が使用するものです。
code=$1;
for (( i = 0; i < ${#code[@]} ; i = $i + 1 ));
do;
echo ${code[@]:$i:1};
done
答え1
この試み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
出力:
助けてください