echo "C:\tools\somepath\toabinary\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append我如何使用Bash实现这个Powershell命令给出的结果?不幸的是,我在网上几乎找不到什么。这是为了在Github操作中使用。
echo "C:\tools\somepath\toabinary\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
wd2eg0qa1#
Bash和POSIX兼容的shell通常没有显式的 command 来将stdout数据保存到文件中;它们有redirection operators>和>>(PowerShell中也支持类似的功能),分别对应于Out-File和Out-File -Append:
>
>>
Out-File
Out-File -Append
# Bash equivalent of your command. echo "C:\tools\somepath\toabinary\bin" >> "$GITHUB_PATH"
LC_CTYPE
locale
$
GITHUB_PATH
$GITHUB_PATH
"..."
请注意POSIX兼容shell和PowerShell在数据流经管道(|)/使用>和>>重定向方面的根本区别:
|
1条答案
按热度按时间wd2eg0qa1#
Bash和POSIX兼容的shell通常没有显式的 command 来将stdout数据保存到文件中;它们有redirection operators
>
和>>
(PowerShell中也支持类似的功能),分别对应于Out-File
和Out-File -Append
:LC_CTYPE
设置隐含,如locale
报告的那样,在现代类Unix平台上几乎总是UTF-8。$
。因此,环境变量GITHUB_PATH
必须作为$GITHUB_PATH
引用。"..."
)将变量括起来,以确保它们的值按原样使用,而不受所谓的shell expansions(特别是word splitting)的约束,在shell expansions中,带有嵌入空格的无引号值成为 * 多个 * 参数。请注意POSIX兼容shell和PowerShell在数据流经管道(
|
)/使用>
和>>
重定向方面的根本区别: