我认为这是我见过的最严重的错误。我写过我在这里看到的内容:
Example of script但我不断得到错误。我的计划是看看read命令是如何工作的。但在我的代码或终端中似乎是一个狡猾的错误。我想知道是否有人见过类似的问题?
#!/usr/bin/bash
echo "Plz enter"
read text
echo "You entered $text"
echo $text
echo "$text"
错误:
$ . test.sh
Plz enter
b
': not a valid identifier
You entered
$
答案 0 :(得分:2)
您的输入文件包含CR + LF line endings。
删除那些,脚本应该运行良好。您可以使用dos2unix
或任何其他实用程序删除CR。
答案 1 :(得分:2)
是的我在使用cygwin的windows中遇到了同样的错误,我修复了它将行格式的结尾从windows格式更改为unix格式。
您还可以使用Notepad++: Edit > EOL Conversion > UNIX
转换行尾格式,然后保存并运行该文件。
答案 2 :(得分:0)
我认为,尝试更改shell路径,如下所示!
root@sathish:/tmp# vim test.sh
#!/usr/bin/bash
echo "Plz enter"
read text
echo "You entered $text"
echo $text
echo "$text"
root@sathish:/tmp# chmod +x test.sh
root@sathish:/tmp# ./test.sh
-bash: ./test.sh: /usr/bin/bash: bad interpreter: No such file or directory
root@sathish:/tmp# which bash
/bin/bash
root@sathish:/tmp# ls /usr/bin/bash
ls: cannot access /usr/bin/bash: No such file or directory
root@sathish:/tmp# vim test.sh
#!/bin/bash
echo "Plz enter"
read text
echo "You entered $text"
echo $text
echo "$text"
root@sathish:/tmp# ./test.sh
Plz enter
a
You entered a
a
a