2012-03-22 104 views
12

我把一堆別名命令放在一個文件夾中。主要SSH的,所以而不必鍵入一天得到bash腳本來回應正在執行的命令

ssh [user]@[server] 

十次,我只需鍵入

server 

和別名腳本火災。腳本只是命令

ssh [user]@[server] 

這一切都工作正常。但我想知道是否在bash中有一種方法,而不是悄悄地發射ssh命令,它會顯示正在執行的命令?

回答

15

您可以debug the script-x,這將回顯命令和參數。

bash -x script.sh 

可以爲文件的特定部分(從上面鏈接第2.3.2節)做到這一點,太:

set -x   # activate debugging from here 
ssh [email protected] ... 
set +x   # stop debugging from here 

-x的輸出可能是你有點太冗長」不過,因爲它是用於調試(而不是記錄)的。

你可能最好只寫出自己的echo聲明 - 這會讓你完全控制輸出。

+0

這有點兒違背了別名的目的。除非有人有另一個想法,否則我只會在實際命令之上添加一個回顯,看看它是如何工作的。 – scphantm 2012-03-22 13:33:30

+0

@scphantm - 是的,它實際上並不意味着要進行日誌記錄,更重要的是它用於調試。但它能完成這項工作。有可能有更好的解決方案。添加自己的'echo'語句可能是最好的;那麼你就可以完全控制日誌記錄。我已經將其納入我的答案。 – 2012-03-22 13:34:34

+0

現在我喜歡那樣。非常酷...我肯定會玩一點,並確保它的工作。謝謝 – scphantm 2012-03-22 13:43:40