当我通过 shell 脚本创建 .txt 文件时,为什么问号出现在文件名的末尾?

vip*_*han 7 linux bash shell grep

我正在编写一个 shell 脚本,我应该在其中创建 1 个文本文件。当我这样做时,一个问号出现在文件名的末尾。是什么原因?

我正在 bash 脚本中尝试以下方法。

1) grep ERROR a1* > text.txt

2) touch text.txt

在这两种方法中,不是 ,而是text.txt生成了一个文件text.txt?

我该怎么做才能克服这个问题?

and*_*lrc 5

听起来您的脚本\r\n用作行尾,这是典型的 DOS 样式行尾。类 Unix 系统使用\n. 您应该尝试更改换行符,例如使用您最喜欢的文本编辑器:

vim +'set ff=unix | x' my_script
Run Code Online (Sandbox Code Playgroud)

或与dos2unix

dos2unix my_script
Run Code Online (Sandbox Code Playgroud)

或者使用 GNU sed:

sed -i 's/\r$//' my_script
Run Code Online (Sandbox Code Playgroud)