Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PowerShell运行Linux命令_Linux_Powershell_Automation - Fatal编程技术网

从PowerShell运行Linux命令

从PowerShell运行Linux命令,linux,powershell,automation,Linux,Powershell,Automation,我能够在Linux上运行下面的代码来成功地卸载磁盘 alldisks=`/sbin/sfdisk-s | grep-v'total'| awk-F':''{print$1}'` 未安装的_磁盘=“” 对于$alldisks中的磁盘 做 /sbin/blkid-o列表| grep-q“$disk” 如果[$?-ne 0];然后 unmounted_disks=“$unmounted_disks$disk” fi 完成 echo$未安装的磁盘 但我正在使用PowerShell通过工作簿实现自动化。

我能够在Linux上运行下面的代码来成功地卸载磁盘

alldisks=`/sbin/sfdisk-s | grep-v'total'| awk-F':''{print$1}'`
未安装的_磁盘=“”
对于$alldisks中的磁盘
做
/sbin/blkid-o列表| grep-q“$disk”
如果[$?-ne 0];然后
unmounted_disks=“$unmounted_disks$disk”
fi
完成
echo$未安装的磁盘
但我正在使用PowerShell通过工作簿实现自动化。我使用
New SSHSession
连接后尝试了以下发送到Linux的方式:

**$script**=('alldisks=`/sbin/sfdisk-s | grep-v'total'| awk-F':''''''{print$1}'`
未安装的_磁盘=“”
echo$未安装的磁盘
对于$alldisks中的磁盘
do/sbin/blkid-o列表| grep-q'$disk''
`n
如果[$?-ne 0]
然后未安装的磁盘=“”$unmounted_disks$disk“”
fi
完成
echo$unmounted_disks')
$output=**调用SSHCommand**-索引$session.SessionId**-命令$script**-超时900-错误操作停止
我得到以下错误:

bash:-c:第8行:意外标记'fi'附近的语法错误
bash:-c:第8行:'fi'

在脚本中使用以下选项:

$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
'@

首先获得一个更简单的命令,然后开始添加花哨的东西。我还建议加入20世纪90年代,使用“现代”形式的命令替换(即
var=$(myCmd)
)而不是反勾号。最后,假设正在作为一行处理,并用
分隔所有cmd序列字符。祝你好运,谢了,谢了。我试过了,但没用。如果您能准确地指出如果您编写了命令,该命令会是什么样子,将不胜感激。。我是说整个$script变量什么“工作簿”?PowerShell代码中的星号代表什么?