Korn シェルと Bash は SSH を介して変数を空白に置き換えます。

Korn シェルと Bash は SSH を介して変数を空白に置き換えます。

AIXサーバー(Korn Shell)からIBM Restricted Bash Shell(HMC)へのSSH経由でリモート・コマンドを実行して、LPAR IDの詳細を収集しようとしました。

SSHを介してlpar名をスペースに変更するのに問題があります。

以下は、フレームワークのサーバーの総数です。 SSHを介してHMCを変数LPARに置き換えるのに役立ちますか?

vio1001
vio1002
lpar4556 PROD DBX02

試したスクリプト:

oldIFS=$IFS
IFS=$'\n'
set -o noglob
for lpar in $(ssh -nq hscroot@ibmhmc101 "lssyscfg -r lpar -m frame220-aix-p750 -F name,lpar_env" | cut -d, -f 1 | sort)
do
   echo "$lpar"
   for state in $(ssh -nq hscroot@ibmhmc101 "oldIFS=$IFS; IFS=$'\n';set -o noglob;lssyscfg -m frame220-aix-p750 -r lpar -F name:state --filter lpar_names="${lpar}" << "EOF"
EOF" | cut -d: -f2)
   do
      echo $state
   done
done

Error: 
vio1001
vio1002
lpar4556 PROD DBX02
/bin/bash: line 1: vio1001: command not found
/bin/bash: line 2: vio1002: command not found

Ru

i
g

ベストアンサー1

あなたは保護が必要ですレパだから追加します\各二重引用符の前に

以下は、両方をテストする例です。

for lpar in "1"  "2 3" "2;3" "abc" "abc def" "abc;def"   ; 
do 
     echo "#${lpar}#" ;
     ssh [email protected]  "printf 'arg1:%s arg2:%s\n'  --filter  par_names=\"${lpar}\"  " ;
     ssh [email protected]  "printf 'arg1:%s arg2:%s\n'  --filter  par_names="${lpar}"  " ;
done 

おすすめ記事