为什么PowerShell在下面的第二个例子中显示出令人惊讶的行为?
首先,一个理智行为的例子:
PS C:\> & cmd /c "echo Hello from standard error 1>&2"; echo "`$LastExitCode=$LastExitCode and `$?=$?"
Hello from standard error
$LastExitCode=0 and $?=True
Run Code Online (Sandbox Code Playgroud)
没有惊喜.我打印一条消息到标准错误(使用cmd's echo).我检查变量$?和$LastExitCode.正如预期的那样,它们分别等于True和0.
但是,如果我要求PowerShell通过第一个命令将标准错误重定向到标准输出,我会得到一个NativeCommandError:
PS C:\> & cmd /c "echo Hello from standard error 1>&2" 2>&1; echo "`$LastExitCode=$LastExitCode and `$?=$?"
cmd.exe : Hello from standard error
At line:1 char:4
+ cmd <<<< /c "echo Hello from standard error 1>&2" 2>&1; echo "`$LastExitCode=$LastExitCode and `$?=$?"
+ CategoryInfo : NotSpecified: (Hello from …Run Code Online (Sandbox Code Playgroud) 在我的 React 项目上安装Webpack的过程中,遇到以下问题阻碍了我的进度:
配置 Webpack 的最后一步
npm run build && node ./dist/main.js
Run Code Online (Sandbox Code Playgroud)
Windows Power Shell / Visual Studio Code 上的错误
PS C:\Users\pythonbuddha\Desktop\to_experiment\to-do-list> npm run build && node ./dist/main.js
At line:1 char:15
+ npm run build && node ./dist/main.js
+ ~~
The token '&&' is not a valid statement separator in this version.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : InvalidEndOfLine
Run Code Online (Sandbox Code Playgroud)
承诺配置 webpack 的教程
https://developerhandbook.com/webpack/webpack-4-from-absolute-scratch/
https://developerhandbook.com/webpack/how-to-configure-scss-modules-for-webpack/
Run Code Online (Sandbox Code Playgroud) 在自动执行某些SVN任务的PowerShell脚本中,我具有以下功能:
function SvnUrlExists($url)
{
svn info $url | out-null 2>&1
return $?
}
Run Code Online (Sandbox Code Playgroud)
由于这显式测试是否存在某个SVN存储库URL,因此我对任何错误输出都不感兴趣.但是,尽管我发现stderr在PowerShell 2>&1中重定向的所有内容都建议将其重定向到stdout,但仍会输出错误消息:
svn: warning: W170000: URL 'blahblah' non-existent in revision 26762 svn: E200009: Could not display info for all targets because some targets don't exist
不幸的是,这严重扰乱了我脚本的输出.
我做错了什么,如何抑制此错误输出?
我正在尝试编写一个 PowerShell 脚本,每当我们的构建系统无法将 Docker 映像推送到 Docker Hub 时,该脚本都会发送 Slack 通知。如何检测并处理Process exited with code 1命令docker push?我已尝试以下操作,但未catch调用该块。
try {
docker push $dockerImage;
}catch{
#Send error details to Slack
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一些PowerShell脚本来进行一些构建自动化.我发现这里是回声$?返回true或false,具体取决于之前的语句.我刚刚发现echo是Write-Output的别名.写主机$?也有效.但我还不清楚这是多少钱?作品.有人可以说一些关于这个的话.正在搜索echo $?在网上并没有给我太多.
powershell ×5
exit-code ×2
command-line ×1
javascript ×1
reactjs ×1
svn ×1
try-catch ×1
webpack ×1
windows ×1