我在Unix中使用以下命令创建目录。这一行是我试图运行的shell脚本的一部分。
mkdir ./R
它创建了一个名为R?
的目录
这是什么意思?
答案 0 :(得分:2)
假设您正在使用ls
查看此?
符号,man ls
请注意--hide-control-chars
会在文件名中包含?
个符号非图形字符。假设设置了此标志(例如,如果您有别名alias ls=ls -q
)mkdir
命令可能在R
之后有一个额外的非打印字符(例如,如果您复制) - 从某处偷走了这条线。)
答案 1 :(得分:1)
您的shell脚本有DOS行结尾。 shell将命令视为mkdir ./R^M
,其中^M
是回车符。您可以使用cat -v
确认这一点。
$ cat -v script
mkdir ./R^M
ls
会打印带有问号?
的控制字符。直接打印它们会弄乱它的输出。