我正在编写自己的bash脚本,并且文件名中的UTF8字符存在一些问题。
我的文件名为:../ahh/Nový textový dokument.txt
我收到此错误:
cat: '"../ahh/Nov\303\275 textov\303\275 dokument.txt"': No such file or directory
对于其他脚本,效果很好。
我的bash脚本片段:
git status -su | tr \\r \\n | while read -r line ;
do
FILE=$(echo "$line" | awk '{$1 = ""; print substr($0,2)}')
cat "$FILE"
done
答案 0 :(得分:1)
如果您执行git status
或git ls-files
,您可能会得到类似的信息:
$ git status
A "Nov\303\275 textov\303\275 dokument.txt"
这是因为默认情况下,git
以加引号的八进制表示形式打印非ASCII文件名,可以使用以下命令禁用当前存储库:
git config core.quotepath off
然后:
$ git status -s
A "Nový textový dokument.txt"
请查看此答案以获取更多详细信息:https://stackoverflow.com/a/22828826/1135424