【发布时间】:2018-11-27 13:23:38
【问题描述】:
我安装了 Cygwin 以便在 Windows 上使用 Linux 命令行工具。我还将它添加到我的 PATH 中。一般来说,它工作正常,但我观察到这种奇怪的行为:
我想在文件C:\Users\s1504gl\Desktop\Täst .txt 上运行sha256sum。注意德语变音符号ä 和文件扩展名前的空格。为了避免路径出现问题,我总是在命令行调用中引用路径,比如:
sha256sum "C:\Users\s1504gl\Desktop\Täst .txt"
但是,PowerShell 会返回
/usr/bin/sha256sum: '"C:\Users\s1504gl\Desktop\T'$'\303\244''st .txt"': 没有这样的文件或目录
当我将文件重命名为 Täst.txt 或 Test .txt 时,它可以工作。所以特殊字符ä 和空格的组合似乎会导致问题。在这种情况下,用单引号交换双引号不会改变任何内容。
我很确定它必须使用 PowerShell,因为该示例在我的 Linux 机器上运行没有任何问题。
是否有其他方法可以转义我不知道的特殊字符和/或空格?
【问题讨论】:
标签: powershell cygwin sha256