在最近编写的shell脚本测试自动安装mysql时,遇到了一些问题。今天在测试运行过程中,出现了以下错误:
$’\r’:command not found,
经过问题分析和检查脚本,发现脚本本身并没有问题,只是存在一些空行。这个错误提示并不是代码本身的错误,而是可能由编码格式等问题引起的。最初脚本是在Linux下编辑并测试的,后来我对其进行了简单的修改,这些修改是在Windows下完成的,然后上传到Linux服务器。需要注意的是,Windows下的换行符是回车符加换行符(\r\n),而Unix下的换行符是\n。
在Linux下,\r不会被识别为回车符,如果脚本中包含\r回车符,会导致脚本在执行时出现问题。
为了解决这个问题,在Linux上执行dos2unix 脚本名命令,将脚本转换为Unix格式。如果提示没有dos2unix命令,可以通过yum安装:
[root@localhost soft]# dos2unix mysql_install_binary5.6.16.sh bash: dos2unix: command not found...[root@localhost soft]# yum -y install dos2unix
在Linux上执行dos2unix 脚本名命令:
[root@localhost soft]# dos2unix mysql_install_binary5.6.16.sh dos2unix: converting file mysql_install_binary5.6.16.sh to Unix format ...
转换后,再次执行脚本:


脚本执行完毕后,MySQL直接进入登录界面,安装完成。
在学习过程中,尽量养成在Linux下进行编码、测试和更新的好习惯。
最后,分享我在工作和学习中遇到的问题,希望对大家有所帮助。
以上就是Linux下MySQL shell脚本执行错误 $’ ’:command not found的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号