[解決済み] 連想配列:エラー "declare: -A: invalid option"
2023-05-02 07:07:05
質問
bash (v 4)で連想配列を使用するスクリプトを書きました。
を使用している私のローカルマシンでは正常に動作します。
4.1.5(1)-release
.
本番機では
4.1.0(1)-release
を使用すると、assoc 配列を宣言している次の行は失敗します。
declare -A uniqjars
をメッセージとする。
/script.sh: line 11: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
これはbash4全般の機能という印象ですが?
本番マシンのbashのマニュアルには、次のように記述されています。
-A
とあるので、おそらく
であるべきだと思います。
が働くはずです。
連想配列の作成は
declare -A name
.
の値を出力することで、スクリプトが正しいバージョンのbashを使用していることを確認できます。
echo 'bash -version
.
何が間違っているのでしょうか?
どのように解決するのですか?
シェルスクリプトの先頭でインタプリタとして起動されるbashのバージョンを確認する (
#!/bin/bash
など) でインタプリタとして呼び出されている bash のバージョンも 4 であることを確認してください。もし、あなたが
bash --version
でv4が表示されている場合は
which bash
を実行して位置を確認します。
関連
-
[解決済み] Bashでの動的な変数名
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] キーと値のペアのファイルから環境変数を設定する
-
[解決済み] JavaScript の連想配列からオブジェクトを削除するにはどうすればよいですか?
-
[解決済み] Bashで連想配列を繰り返し処理する方法
-
[解決済み] Ansibleで新しいユーザーとパスワードを作成する
-
[解決済み] set -u` による Bash による空の配列展開
-
[解決済み] 予期しないbashの終了時に作成された一時ファイルを削除する
-
[解決済み] 現在のシェル内でコマンドの出力を実行するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] find を使ってサブディレクトリを除外する
-
[解決済み] bashで端末の最終行を削除して置換するには?
-
[解決済み] homebrew パッケージがインストールされているかどうかを検出する
-
[解決済み] ファイルを分割する方法。重複
-
[解決済み] ssh 鍵を生成する bash スクリプトの enter キー押下を自動化する。
-
[解決済み] .bashrcのエイリアスをvimのシェルコマンドで使用できるようにするには?(:!...)
-
[解決済み] zip アーカイブの中の1つのファイルを更新する方法
-
[解決済み] 環境変数の指定とエコーを同じコマンドラインで実行できないのはなぜですか?
-
[解決済み] スペースで区切られた引数の受け渡し (bash) スクリプト
-
[解決済み] Bashを使用してJARからMANIFEST.MFファイルを読み込む方法