KIt*_*tis 2 linux bash shell scripting cygwin
我有用RedHat OS编写的shell脚本.我需要在windows environemtn中运行此脚本.
所以我用cygwin在windows上运行脚本.
但是当我使用脚本运行时
sh housekeeper.sh
Run Code Online (Sandbox Code Playgroud)
它给了我跟随在RedHat OS中没有恢复的错误
line 12: $'\r': command not found
Run Code Online (Sandbox Code Playgroud)
但是我的脚本的第12行是空的
08 #
09 ######################################################################
10 #### PARAMETERS TO SET BEGIN
11 ######################################################################
12
13 # archive setttings
14 ARCHIVE_USER=abc # archive storage user name (default)
15 ARCHIVE_GROUP=app # archive storage user group (default)
16 ARCHIVE_PATH=/test/file # archive storage directory (default)
17 ARCHIVE_DELAY=+8
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这里的剧本或cygwin这里有什么问题.
提前感谢您的帮助
很可能cygwin sh
期待一个UNIX行分隔符(即\n
),而是找到一个Windows行分隔符,\r\n
因此尝试执行\r
就像它是一个命令一样.如果您在基于Windows的文本编辑器中编辑此脚本,则很容易发生这种情况.
如果你有命令dos2unix
可以使用它,或tr
删除\r
s:
tr -d '\r' < old.sh > new.sh
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
642 次 |
最近记录: |