2015-11-07 71 views
1

我在登錄的Linux服務器上創建文件,並且添加了用戶將這些文件從Linux服務器下載到連接電腦。我正在寫一個紙條,並使用scp命令下載這些文件:使用SCP命令將文件從Linux服務器下載到客戶端服務器

scp data.txt [email protected]:/home/usr 

不過,我不希望指定「用戶@ usraddress:/家庭的/ usr」是隻是我的電腦。我希望任何登錄到Linux服務器的人都能夠下載這些文件。有沒有辦法獲得連接電腦的地址? 我該怎麼做?

原諒我,如果這看起來很基本,我對腳本很陌生。

回答

2

當您在GNU/Linux機器中打開遠程會話時,ssh服務器會使用一些連接信息設置環境變量SSH_CONNECTION。您可以使用此變量和$USER變量來填補參數:

scp data.txt [email protected]${SSH_CONNECTION%% *}:/home/$USER 

注意,因爲據我所知,你不能假設客戶端的主目錄是/home。如chepner所述,您可以省略目標目錄以使用默認位置(主目錄)。

scp data.txt [email protected]${SSH_CONNECTION%% *}: 
+2

只需使用'$ USER @ $ {SSH_CONNECTION %% *}:'作爲目的地。默認目錄是用戶的主目錄。你是正確的,你不能假設'/ home/$ USER';例如,Mac OS X默認使用'/ Users/$ USER'。 – chepner

+0

謝謝! – user3266259

相關問題