Ciscoのシリアル番号を処理して製造日を生成するスクリプトを作成しています。
次の配列を使用して月の部分を処理していますが、問題なく機能します。その配列は次のように設定されています。
declare -A d_year
d_year[10]="2006"
d_year[11]="2007"
d_year[12]="2008"
d_year[13]="2009"
d_year[14]="2010"
d_year[15]="2011"
番号1〜5 = 1月、6〜9 = 2月であるため、問題は月の部分から発生します。私は以下を試しましたが、役に立ちませんでした:
declare -A d_month
d_month[{1:5}]="January"
d_month[{6..9}]="February"
d_month[{10..14}]="March"
シリアル番号を処理しようとすると、年の部分は問題なく出力されますが、月は次のエラーを生成します(配列の他の不適切な形式のセクションでエラーを生成します)。
syntax error: operand expected (error token is "{15..18}")
私はそれを一行ずつ行うことができますが、私が逃しているかもしれないより簡単な方法があると感じますか?だから私の質問は、この方法で配列を作成して数値の範囲を処理することは可能ですか?
試していただけませんか:
for m in {1..5}; do d_month[$m]="January"; done
for m in {6..10}; do d_month[$m]="February"; done
for m in {11..15}; do d_month[$m]="March"; done
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加