2

スクリプトの実行中に、ペアの配列を持つ「case..esac」演算子のキーを生成する必要があります。

map=(
   "key1:expr1"
   "key2:expr2"
   "key3:expr3"
)

左がキー、右がエクスプレッションです。アイデア?

ありがとう!

4

1 に答える 1

2

当然、bash コードを文字列に生成して で評価できevalますが、bash で必要な動作を実装する標準的な方法は次のとおりです。

#!/bin/bash

#statements, can read them from the file, etc.
key1='echo "hello 1"'
key2='echo "hello 2"'
key3='echo "hello 3"'

userinput="key3"

# print
echo ${!userinput}

# and likewise eval:
eval ${!userinput}
于 2013-07-16T14:39:28.310 に答える