2016-11-02 101 views
2

我有一個小小的測試腳本如下;mkdir -p SSH SSH bash

TESTDIR="$HOSTNAME" 
ssh [email protected] "\$TESTDIR" 
mkdir -p ~/$TESTDIR/test 
exit 

bash -x的輸出是;

+ TESTDIR=ndx 
+ ssh [email protected] '$TESTDIR' 
+ mkdir -p /home/user/ndx/test 
+ exit 

但是在遠程服務器上,沒有目錄存在?

+3

你」重新運行mkdir /退出LOCALLY。它們不會通過ssh鏈接發送,並且ssh命令將BLOCK直到遠程shell關閉。到達mkdir命令時,ssh退出並且鏈接關閉。 'ssh ... -c'命令;執行;遠程'是你想要的。 –

+0

請問我能舉個例子嗎? – eekfonky

回答

3

ssh最後一個參數是命令要在遠程主機上執行:

TESTDIR="$HOSTNAME" 
ssh [email protected] "mkdir -p ~/$TESTDIR/test" 
1

如果你有一個PEM文件,以ssh作爲認證使用下面的

ssh -i your-key.pem [email protected]_addr "mkdir -p /your_dir_name/test"