Categories
學習筆記

linux更改當前使用shells為csh并載入.cshrc配置文件

我個人比較喜歡csh
所以一般情況下就是在安裝好系統后把用戶的shells換為csh
下面就來給大家介紹一下:
1)如何查看當前shells
2)如何查看系統所有的shells
3)如何修改當前用戶的shells
4)如何載入當前用戶的.cshrc 讓它生效

下面就開始吧
在更換shells之前 當然你可以先查看一下你所使用的shells到底是不是你想要的

[root@test2 ~]# echo $0
-bash

可以發現我的CentOS 6 32bit默認的shells是bash 而我想用的並不是這個

而系統里目前到底有哪些shells呢?

[root@test2 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh

你會發現其實並沒有很多 但我們常見的sh bash csh tcsh默認都有了 必須要再另外安裝 而上面的nologin其實就是用來創建不允許登錄ssh的帳號時用的

現在就可以更改當前用戶的shells了

[root@test2 ~]# chsh
Changing shell for root.
New shell [/bin/bash]:

輸入chsh后 系統會讓你自己輸入你想用的shells
這時剛才的查詢就有用了 我要用的是csh 輸入后的結果就是下面這樣

[root@test2 ~]# chsh
Changing shell for root.
New shell [/bin/bash]: /bin/csh
Shell changed.

更換后必須下次登錄才有效 所以我們先退出當前的ssh連接

[root@test2 ~]# exit

必須注意的是 直接關閉ssh連接工具諸如putty 其實不會關掉該ssh連接
意思就是你關掉了putty 但是ssh連接其實還是存在的
所以建議使用exit來主動退出

重新連接后可以查看到shells已經是csh了

[root@test2 ~]# echo $0
-csh

然後就可以自己編寫.cshrc 或是直接使用別人的配置文件(比如我的)
下面我就直接wget我的常用配置文件包my.zip 裏面包含csh、screen和vim的配置文件

[root@test2 ~]# wget https://www.guyusoftware.com/sh/my.zip
–2014-08-26 12:14:32– https://www.guyusoftware.com/sh/my.zip
Resolving www.guyusoftware.com… 198.71.86.144
Connecting to www.guyusoftware.com|198.71.86.144|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 1456 (1.4K) [application/zip]
Saving to: “my.zip”

100%[======================================>] 1,456 –.-K/s in 0s

2014-08-26 12:14:32 (121 MB/s) – “my.zip” saved [1456/1456]

下載完畢後解壓my.zip檔案

[root@test2 ~]# unzip my.zip
Archive: my.zip
replace .cshrc? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: .cshrc
inflating: .screenrc
inflating: .vimrc

然後就可以載入配置文件了

[root@test2 ~]# source .cshrc
root@test2:/root#

而載入后你會發現shells的前綴出現了當前目錄完整路徑 這樣是不是方便多了?哈哈
你也可以自行修改.cshrc來滿足你的個人需求
我裏面已經定義了一些簡單的alias 比如vi自動用vim打開 rm需要確認提示等等
使用了我的配置文件后 你也會發現你的csh、vim、screen充滿了色彩
誰說ssh就必須那麼單調?哈哈

備註:如果目錄下存在.tcshrc 下次啟動時就會優先載入.tcshrc 因為所以建議刪除此檔案

rm -f .tcshrc

原文:

A login shell begins by executing commands from the system files
/etc/csh.cshrc and /etc/csh.login. It then executes commands from
files in the user’s home directory: first ~/.tcshrc (+) or, if
~/.tcshrc is not found, ~/.cshrc, then ~/.history (or the value of the
histfile shell variable), then ~/.login, and finally ~/.cshdirs (or the
value of the dirsfile shell variable) (+). The shell may read
/etc/csh.login before instead of after /etc/csh.cshrc, and ~/.login
before instead of after ~/.tcshrc or ~/.cshrc and ~/.history, if so
compiled; see the version shell variable. (+)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.