Я запускаю этот командный скрипт:
$hm = "$Env:USERPROFILE"
$eclipse_path = "$hm\eclipse\committers-2019-09\eclipse\eclipse.exe"
$sp = {
"$eclipse_path -data C:\SharedData\Projects\Tutorial &"
Write-Host "Eclipse starting"
}
Invoke-Command -ScriptBlock $sp
со следующими результатами:
>>> bin/dev.ps1 C:\Users\jgoss\eclipse\committers-2019-09\eclipse\eclipse.exe -data C:\SharedData\Projects\Tutorial &
Eclipse starting >>>
Похоже, что основная командане был выполнен, но команда echo была выполнена. Если я запускаю основную команду автономно в Windows Terminal, как показано на рисунке, команда работает так, как нужно:
>>> C:\Users\jgoss\eclipse\committers-2019-09\eclipse\eclipse.exe -data C:\SharedData\Projects\Tutorial &
Я просто вырезал и вставил содержимое первой команды в блок скрипта, и она работала так, как я хочу. Программа eclipse.exe была запущена в фоновом режиме. Почему это не работает в блоке скрипта?