Bash

SCP通過.sh文件的奇怪行為

  • August 28, 2019

我在 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 轉換腳本文件。它為我解決了。

引用自:https://serverfault.com/questions/706141