gpt4 book ai didi

linux - 从 PowerShell 运行 Linux 命令

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:19:12 28 4
gpt4 key购买 nike

我能够在 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 '

最佳答案

使用 here-string对于你的脚本:

$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"
if [ $? -ne 0 ]; then
unmounted_disks="$unmounted_disks $disk"
fi
done
echo $unmounted_disks
'@

关于linux - 从 PowerShell 运行 Linux 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46109021/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com