2012-03-28 39 views
1

工作我不是Solaris專家,我想創建一個shell腳本,將我的提示更改爲PWD和ksh的抨擊,我有這樣的:

PS1 = '$ PWD $' EXEC的bash --noprofile --rcfile的/ dev/null的

PS1 = '\ W $' EXEC的bash --noprofile --rcfile的/ dev/null的

他們倆都不從sh工作。如果我從命令行添加它們,那麼第一次我的bash出現在提示符上,第二次PS1 ='$ PWD $'開始運行,並且我的提示符發生改變。

首先,爲什麼PS1 ='$ PWD $'不能從shell腳本運行。爲什麼我必須從命令行運行命令兩次以實現我的結果。

此外,在我的export/home/syed /目錄中有三個文件local.login,local.profile和local.cshrc。有沒有什麼辦法,我可以使用它們,當我登錄時,我不需要運行我的shell腳本,並在登錄時,我得到bash shell和我的提示符,因爲我想它 (我問太多了,我不喜歡ksh它不具有任何功能,如向上箭頭召回最後的命令和選項卡中自動完成功能)

感謝 賽義德...

回答

1

當您在腳本中使用exec時,腳本將被替換,而不是父shell。

嘗試採購腳本而不是運行腳本。

另外,在Solaris中,您可以使用passwd -e來更改登錄shell。

您可以將~/.profile符號鏈接到您現有的~/local.profile(或類似文件)。請注意,.cshrc用於C Shell,與ksh或Bash不兼容。

1

如果你想你的默認的shell會慶典,改變它在/ etc/passwd文件

0

當你用exec bash它從頭開始建立自己的環境。將它傳遞給包含您希望繼承的設置的--rcfile