1
Linux上で以下のコードを実行して、マウントされていないディスクを正常に取得できます。PowerShellからLinuxコマンドを実行
alldisks=`/sbin/sfdisk -s | grep -v 'total' | awk -F':' '{print $1}'`
unmounted_disks=""
for disk in $alldisks
do
/sbin/blkid -o list | grep -q "$disk"
if [ $? -ne 0 ]; then
unmounted_disks="$unmounted_disks $disk"
fi
done
echo $unmounted_disks
しかし、私はPowerShellを使用してこれをワークブックで自動化しています。私はNew-SSHSession
を使用して接続した後のLinuxへの送信の道の下に試してみました:
**$script** = ('alldisks=`/sbin/sfdisk -s | grep -v ''total'' | awk -F '':'' ''{print $1}''`
unmounted_disks=""
echo $unmounted_disks
for disk in $alldisks
do /sbin/blkid -o list | grep -q ''$disk''
`n
if [ $? -ne 0 ]
then unmounted_disks=''$unmounted_disks $disk''
fi
done
echo $unmounted_disks')
$output = **Invoke-SSHCommand** -Index $session.SessionId **-Command $script** -TimeOut 900 -ErrorAction Stop
私はエラーの下に出る:
bash: -c: line 8: syntax error near unexpected token `fi'
bash: -c: line 8: ` fi '
は、はるかに簡単にコマンドを取得します最初に仕事をしてから、派手なものを追加し始めましょう。また、1990年代に入って、バックチックの代わりに「現代的」なコマンド置換(つまり、var = $(myCmd))を使用することをお勧めします。最後に、それが1行として処理され、すべてのcmdシーケンスを ';'文字で区切ります。がんばろう。 – shellter
シェルターに感謝します。私は試みたが、二重使用。あなたが書かれていれば、コマンドがどのように見えるかを正確に指摘することができれば感謝します。私は全体の$スクリプト変数を意味します –
"ブック"とは何ですか? PowerShellコードのアスタリスクは何ですか? –