當我每個Putty登錄Linux服務器時,我想執行bash
(因爲默認shell是另一個),然後添加一個別名。在登錄時執行bash並添加別名
我嘗試了幾種組合,將exec bash
放入.profile
,並將alias foo='echo foo'
加入.bash_profile
。但我沒有找到正確的組合。要麼沒有設置別名,要麼沒有執行bash。
所以,問題是,在這些文件中:
.profile
.bashrc
.bash_profile
我必須把這些命令:
exec bash
alias foo='echo foo'
運行bash
外殼,並已獲得別名每次我我是否登錄服務器?
編輯:我們使用所有相同的用戶登錄。但是我想執行bash並只爲我的遠程機器添加別名。我已經有一個合適的if
聲明。我只需要知道,把這些命令放在哪裏!
EDIT2:
我有什麼在我的.profile
至今:
if [ $(who -m | awk '{print $NF}' | grep "myHostName" | wc -l) -eq 1 ]
then
exec bash
alias foo='echo foo'
fi
這將執行的bash只我用戶。但別名將被忽略,因爲我開始一個新的外殼和別名將可能設置在舊的外殼...
難道也可以做'CHSH -s /斌/ bash'在配置文件中,所以我可以只在特定條件下執行它(例如遠程主機是'myHost')?因爲我在服務器上運行,我不是唯一的服務器,我不想更改其他用戶的行爲! – bobbel
@bobel每個用戶都有他自己的默認shell(存儲在'/ etc/passwd /'中的信息),不會爲其他人改變它。 – BroSlow
好吧,對不起,我沒有很好地解釋我自己......我們都使用相同的用戶在這臺服務器上登錄:) – bobbel