2016-07-19 69 views
-1

我試圖創建一個執行諸如「pwd」或「ls」命令的.sh文件。 我的問題是當我執行.sh文件時。 它似乎無法識別的任務 我試圖用回聲 例如:echo 'lsApps'echo "lsApps" 但它打印任務的名稱,而不是執行COMAND如何在.sh文件上執行ssh命令?

例如我想執行的.ssh文件,使一個PWD

VAR_1=pwd 
echo $VAR_1 

但它打印了我,而不是命令pwd的電流通路 ... 任何想法?

+0

發佈您的腳本。顯示你如何運行它。如何涉及'ssh'? – Barmar

回答

0

echo用於在屏幕上打印(man page reference)。如果你做echo 'IsApps'它會把它作爲一個字符串並打印出來。如果要執行命令,則可以通過執行IsApps(銳角不是引號,銳角通常在逃逸鍵下方)執行。這將執行該命令並在屏幕上顯示輸出。如果要將命令的輸出存儲在變量中,可以執行以下操作:

<variable_name>=`IsApps` 

這會將輸出存儲在變量中。請注意,變量名和命令之間沒有空格。此外,那些不是引號,而是尖銳的。要在屏幕上打印變量,您可以使用回顯功能echo $<variable_name>

如果您不想看到輸出。你可以做

IsApps > /dev/null 

這將執行命令,但你不會在你的屏幕上看到任何標準輸出。

就ssh而言,先執行ssh-keygen然後ssh-copy-id [email protected]_ip來設置ssh密鑰,以便不必使用ssh輸入密碼。完成之後,您可以在shell腳本中使用ssh [email protected]_ip