Linux

測試 login 是否為 scp 連接

  • March 20, 2011

我在登錄時回顯各種機器統計資訊,但這對於 SCP 和 SFTP 來說是有問題的,是否有我可以測試的 shell 變數?

在 bash 中,我shopt -q login_shell用來測試它。例如在 .bashrc 中:

if shopt -q login_shell
then
   echo "interesting stuff"
fi

這應該將“有趣的東西”排除在您的 scp/sftp 之外。

根據手冊頁,您應該測試$-.

PS1 已設置並且 $- 包括 i 如果 bash 是互動式的,則允許 shell 腳本或啟動文件測試此狀態。

例如:

if [[ $- == *i* ]]
then
   # do interactive stuff
fi

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