MySQL shell腳本執行錯誤 $'\r':command not found

問題描述

前幾天編寫的shell小腳本,測試自動安裝MySQL的,今天測試運行,而後出現以下錯誤
MySQL shell腳本執行錯誤 $'\r':command not found
$’\r’:command not found,mysql


問題分析

檢查腳本,沒有問題,只是有空行。提示這個錯誤也不是代碼自己錯誤,懷疑多是編碼格式等錯誤,:腳本是Linux下編輯完成測試。後期我又作了簡單修改,是在在window下修改後完成,而後上傳到Linux服務器的。
注意到:win下的換行是回車符+換行符,也就是\r\n,而unix下是換行符\n。linux

linux下不識別\r爲回車符,若是腳本有\r回車符那麼會致使腳本編碼執行出現問題。sql


處理問題

  • 在linux上執行 dos2unix 腳本名,轉換後,在執行該腳本。shell

  • 提示沒有dos2unix命令的話,就yum安裝下
    [root@localhost soft]#  dos2unix mysql_install_binary5.6.16.sh 
    bash: dos2unix: command not found...
    [root@localhost soft]# yum -y install dos2unix

    MySQL shell腳本執行錯誤 $'\r':command not found

    1. 在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 shell腳本執行錯誤 $'\r':command not found
    MySQL shell腳本執行錯誤 $'\r':command not found
    MySQL shell腳本執行錯誤 $'\r':command not foundbash

  • 腳本執行完畢,MySQL直接到登陸界面。完成。
  • 在學習中儘可能慢慢養成好的習慣,在Linux下編碼 測試 更新等

結尾

在工做和學習中遇到的問題和你們分享,但願對你們有所幫助服務器

相關文章
相關標籤/搜索