Bash
SCP通過.sh文件的奇怪行為
我在 cygwin 上遇到了一個奇怪的 SCP 問題,
scp $HOME/deploy.sh user@host:/tmp
工作正常,文件被複製到遠端系統。
但是 a 中的相同命令
test.sh
將不起作用。我可以看到 scp 命令輸出與上一個標準輸出相同,但是當我轉到遠端系統時,這些文件不存在!test.sh:
#!/bin/sh scp $HOME/deploy.sh user@host:/tmp
看起來它與cygwin有關,在Linux系統上看不到這種行為。但不幸的是,我的開發設置在 Windows 上,無法輕鬆切換。
這可能是一個錯誤,但我不確定。
沒有看到這個問題:
scp $HOME/deploy.sh user@host:/tmp/deploy.sh
將文件夾名稱指定為目標時會出現問題:
scp $HOME/deploy.sh user@host:/tmp
我現在才得到這種行為,問題是換行符。(^M)
嘗試使用 dos2unix 轉換腳本文件。它為我解決了。