2012-02-20 123 views
0

我在AWS中使用ubuntu的虛擬服務器。我在我的服務器上創建了多個用戶。當我以root用戶(ubuntu)身份登錄服務器時,我可以使用bash自動完成基本命令和bash歷史記錄。但是當我以不同的用戶身份登錄時,它不起作用?有什麼我需要做的,以解決這個問題?ssh終端不會自動完成或存儲命令歷史記錄

+1

也許其他用戶有'/ bin/sh'作爲他們的登錄shell?在這種情況下試試'chsh'。 – tripleee 2012-02-20 17:32:32

+1

'echo $ BASH_VERSION'來查看你是否運行'bash'。如果你不是,並且你想,並且你不想改變當前用戶的默認shell(這是'chsh'所做的),則運行'bash -l'。當然,如果你想改變默認的登錄shell,chsh就可以實現。 – 2012-02-20 19:51:17

+0

我檢查了,我沒有運行bash。無論如何,使我的默認shell bash?我想ssh進入服務器並默認使用bash。 – viper 2012-03-13 04:08:27

回答

1

根據the Bash Reference Manual, §9.1: Bash History Facilities

-o history選項將set內置使能(見The Set Builtin),外殼提供了訪問命令歷史記錄,命令列表以前鍵入。

所以,我想嘗試運行

set -o history 

,看是否能解決它。如果確實如此,那麼您可能需要將其添加到其他用戶的登錄腳本中。

(請注意,set -o history主要控制命令是否加入到歷史,所以要充分測試它,你要運行:

set -o history 
echo foo 
echo !! 

,以確認它打印echo foo