chsh
===
ç¨æ¥æ´æ¢ç»å½ç³»ç»æ¶ä½¿ç¨çshell
## è¡¥å
说æ
**chshå½ä»¤** ç¨æ¥æ´æ¢ç»å½ç³»ç»æ¶ä½¿ç¨çshellãè¥ä¸æå®ä»»ä½åæ°ä¸ç¨æ·åç§°ï¼åchshä¼ä»¥åºççæ¹å¼è¿è¡è®¾ç½®ã
### è¯æ³
```shell
chsh(é项)(åæ°)
```
### é项
```shell
-sæ--shellï¼æ´æ¹ç³»ç»é¢è®¾çshellç¯å¢ãï¼
-læ--list-shellsï¼ååºç®åç³»ç»å¯ç¨çshellæ¸
åï¼
-uæ--helpï¼å¨çº¿å¸®å©ï¼
-væ-versionï¼æ¾ç¤ºçæ¬ä¿¡æ¯ã
```
### åæ°
ç¨æ·åï¼è¦æ¹åé»è®¤shellçç¨æ·ã
### å®ä¾
**æ¥çç³»ç»å®è£
äºåªäºshellçä¸¤ç§æ¹æ³ï¼**
第ä¸ç§ï¼
```shell
[rocrocket@localhost ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh
```
第äºç§ï¼
```shell
[rocrocket@localhost ~]$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh
```
å
¶å®`chsh -l`乿¯æ¥æ¥çè¿ä¸ªæä»¶ã
**æ¥çå½åæ£å¨ä½¿ç¨çshellï¼**
```shell
[rocrocket@localhost ~]$ echo $SHELL
/bin/bash
```
注æSHELLä¸å®è¦æ¯å¤§åãå¯ä»¥çå°ï¼ç®å使ç¨çshellæ¯`/bin/bash`
**ææçshellæ¹æzshï¼**
```shell
[rocrocket@localhost ~]$ chsh -s /bin/zsh
Changing shell for rocrocket.
Password:
Shell changed.
[rocrocket@localhost ~]$
```
使ç¨chshå é项`-s`å°±å¯ä»¥ä¿®æ¹ç»å½çshelläºï¼ä½ ä¼åç°ä½ ç°å¨æ§è¡`echo $SHELL`åä»ç¶è¾åºä¸º`/bin/bash`ï¼è¿æ¯å ä¸ºä½ éè¦éå¯ä½ çshellæå®å
¨æå
¥å°zshææ±ä¸å»ã`chsh -s`å
¶å®ä¿®æ¹çå°±æ¯`/etc/passwd`æä»¶éåä½ çç¨æ·åç¸å¯¹åºçé£ä¸è¡ãç°å¨æ¥æ¥çä¸ï¼
```shell
[rocrocket@localhost ~]$ cat /etc/passwd|grep ^rocrocket
rocrocket:x:500:500:rocrocket,China:/rocrocket/PSB/home:/bin/zsh
```
ä½ å¯ä»¥åç°è¾åºå
容çæåé¨åå·²ç»åæäº`/bin/zsh`äºï¼ä¸æ¬¡éå¯çæ¶åï¼linuxå°±ä¼è¯»åè¿ä¸å½ä»¤æ¥å¯å¨shelläºï¼
**æshellä¿®æ¹å/bin/bashï¼**
```shell
[rocrocket@localhost ~]$ chsh -s /bin/bash
Changing shell for rocrocket.
Password:
Shell changed.
```