问题
I am writing one shell script in which I am supposed to create 1 text file. When I do this, a question mark comes at the end of file name. what is the reason?
I am trying below methods in bash script.
1) grep ERROR a1* > text.txt
2) touch text.txt
In both the methods, instead of text.txt
, there is a file generated as text.txt?
what should I do to overcome this?
回答1:
Sounds like you script uses \r\n
as line endings, this is typical DOS style line endings. Unix like systems uses \n
. You should try to change the line feeds, eg with your favorite text editor:
vim +'set ff=unix | x' my_script
Or with dos2unix
:
dos2unix my_script
Or sed:
sed -i 's/\r$//' my_script
来源:https://stackoverflow.com/questions/37566064/why-questionmark-comes-in-the-end-of-filename-when-i-create-txt-file-through-sh