[問題] bash 空白行導致 command not found

作者: sanbis (方正無法達成,那麼有沒H)   2020-11-13 10:42:24
目前 TEST.sh 的內容如下
#!/bin/bash
WORKDIR=backup
echo $WORKDIR
echo "備份程序"
echo "根目錄"
但是在執行 sh TEST.sh 後輸出的結果為
: command not found
backup
備份程序
: command not found
根目錄
中間為了格式打上去的空行被當成無效指令
導致輸出 : command not found
想請問一下有沒有人遇過這種情況
以及這個要怎麼處理?
作者: bitlife (BIT一生)   2020-11-13 10:49:00
先檢查是否有全形空白
作者: tomsawyer (安安)   2020-11-13 15:01:00
windows換行?
作者: HMKRL (HMKRL)   2020-11-14 00:23:00
應該是有不是空白的東西混進去
作者: LinBuoRen (林博仁)   2020-11-14 07:21:00
dos2unix
作者: newversion (海納百川)   2020-11-14 12:14:00
xxd TEST.sh 賠上來看看
作者: ucrxzero (RX-0)   2020-11-14 13:36:00
Backup被當成指令了啦
作者: rickieyang (Rickie Yang)   2020-11-15 00:22:00
作者: ucrxzero (RX-0)   2020-11-15 02:18:00
你bash是不是連到dash
作者: holishing   2020-11-15 19:06:00
set -x 追追看?然後在之前不管有沒有 dos 換行都先 dos2unix
作者: Bellkna (柔弱氣質偽少女)   2020-11-16 19:23:00
sed應該也可以處理這個
作者: Gold740716 (項為之強)   2020-11-17 12:27:00
sed 's/\r$//'

Links booklink

Contact Us: admin [ a t ] ucptt.com