这是 BASH 脚本:
#!/bin/bash
read -p "Type in a color name, please: " COLOR
case "$COLOR" in
green | red | yellow)
echo -n "nice colors!"
;;
*)
echo -n "meh..."
;;
esac
Run Code Online (Sandbox Code Playgroud)
x为用户设置脚本权限后,我运行它但得到以下信息:
[inewton@centos7 LPIC1-exercises]$ ./colors.sh
Type in a color name, please: pink
./colors.sh: line 12: syntax error near unexpected token `newline'
'/colors.sh: line 12: `esac
[inewton@centos7 LPIC1-exercises]$
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?请帮帮我。
Run Code Online (Sandbox Code Playgroud)'/colors.sh: line 12: `esac
请注意结束引号在行首的奇怪位置。这表明单词后面有一个回车 (CR)字符esac。Bash 将 CR 视为单词的一部分esac?,因此这不是保留字,并且esac缺少实际的单词。
CR 字符是 Windows 行尾的一部分:Unix 行尾是单独的 LF(换行)字符,而 Windows 行尾是两个字符的序列 CR+LF。请参阅#!/bin/bash - 没有这样的文件或目录以获取更多解释。这里的扭曲是你的文件有混合的行尾:前面的行没有引起问题,所以至少其中一些必须有 Unix 行尾。
从文件中删除所有回车。大多数编辑器会在带有混合行尾的文件中明确显示它们。
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |