私はpostgresqlを持ち、10個のレコードを持つテーブルを持っているので、シェルスクリプトの10個のレコードに対して10個のローカル変数が必要です。
次の方法を試しましたが、list123[1]...list123[9]の代わりにlist123[0]変数にすべてのレコードを保存します。
declare -a list123
list123=( "$(psql -t -h 10.100.0.1 -U prasad statistics -c "select command from jobhandler.config_info where conf_name like '%stager%'")" )
list123[0-9]の各レコードに対応するレコードが必要です。
ベストアンサー1
問題は、コマンドの置換に二重引用符を使用したために発生します$()
。これは出力全体を単一の複数行文字列に変換します。
努力する:
declare -a list123
list123=( $(psql -t -h 10.100.0.1 -U prasad statistics -c "select command from jobhandler.config_info where conf_name like '%stager%'") )
あなたのテーブルはありませんが、単純なID、名前、dobテーブルを使用して私のシステムでテストしました。
$ list123=($(psql -t -c 'select dob from newtable'))
$ set | grep list123
list123=([0]="1967-03-07" [1]="1964-08-07" [2]="1992-10-19" [3]="1964-12-18" [4]="1945-12-26")