看板 Linux 關於我們 聯絡資訊
目前 TEST.sh 的內容如下 #!/bin/bash WORKDIR=backup echo $WORKDIR echo "備份程序" echo "根目錄" 但是在執行 sh TEST.sh 後輸出的結果為 : command not found backup 備份程序 : command not found 根目錄 中間為了格式打上去的空行被當成無效指令 導致輸出 : command not found 想請問一下有沒有人遇過這種情況 以及這個要怎麼處理? -- 『老闆你好 我是國立的』 『老闆你好 我是私立的』 『腦~~~~~~~闆~~~~~~』 Amy! 有消息會跟你聯絡 有消息會跟你聯絡 給她個私人秘書職位 ◤ ◥ ◤◥ 國立 -○=○- -□=□- ● ● ◤ ◥ 私立 ) 尬不過 -? - )) 兩粒 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.62.244 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1605235346.A.2CC.html
bitlife: 先檢查是否有全形空白 11/13 10:49
tomsawyer: windows換行? 11/13 15:01
HMKRL: 應該是有不是空白的東西混進去 11/14 00:23
LinBuoRen: dos2unix 11/14 07:21
newversion: xxd TEST.sh 賠上來看看 11/14 12:14
ucrxzero: Backup被當成指令了啦 11/14 13:36
rickieyang: 沒問題呀! https://i.imgur.com/fmMGKGL.jpg 11/15 00:22
ucrxzero: 你bash是不是連到dash 11/15 02:18
holishing: set -x 追追看? 11/15 19:06
holishing: 然後在之前不管有沒有 dos 換行都先 dos2unix 11/15 19:07
問題已解決 目前查到的說法是 Windows 的換行是 \r\n Linux 的換行是 \n 解決的方法有~ 1.dos2unix 問題是這個主機上沒有安裝 dos2unix ~Orz 2.改用 vim 編輯 並設定 :set ff=unix ※ 編輯: sanbis (59.125.62.244 臺灣), 11/16/2020 09:18:41
Bellkna: sed應該也可以處理這個 11/16 19:23
Gold740716: sed 's/\r$//' 11/17 12:27