|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
5 A! S: `) r, o
1 我想知道我机器安装了哪些shell?
% M4 z# _ q$ {$ @1 V4 c
: L7 I' `* w( Z# A5 @两种方法可以查看:
* ]" H/ L/ m" B第一种: 6 ]9 {# F$ k* `+ |! x* V# m
[rocrocket@wupengchong ~]$ chsh -l
/ _% b. }% f$ T- W6 X% f/bin/sh
. R2 J3 w; }& j+ h9 h3 }: g- ]/bin/bash
1 z* o. r, E2 }: c. m/sbin/nologin / f+ F/ h+ h8 h1 d3 a) [; o) c+ G' F
/bin/zsh 2 `- D/ v9 u. y
第二种:
* L9 p6 P) e; S8 i[rocrocket@wupengchong ~]$ cat /etc/shells * @: U# h9 c; Y: k, p" C
/bin/sh
9 V4 H. p3 L) H& X4 E; C4 S. f/bin/bash
" W; `) P: ^+ I# h0 o6 q) J/sbin/nologin / s- U: p$ S6 W
/bin/zsh 9 T0 ]* P6 ]! |
其实chsh -l也是来查看这个文件。
: _) r% V+ V- W3 g7 k# O* L& e
$ u# A' o; M+ {0 |3 E4 Q- e2 我想知道我当前正在使用的shell是哪个阿? # [0 |# g3 h& l4 }
[rocrocket@wupengchong ~]$ echo $SHELL
3 Q' v2 P$ v" r8 S- f/bin/bash 1 F+ |$ r7 o: J, v
注意SHELL一定要是大写。可以看到,我目前使用的shell是/bin/bash
1 `4 z L* W0 f3 执行了zsh之后,我查看当前shell类型仍然是/bin/bash呢?
! H( i6 B/ [" e( H8 t请注意,我们虽然执行了zsh,但是所谓“当前的shell”是一个大环境的概念,是针对一个已登录的用户而言的。而我们执行zsh只是启动了一个zsh的解释器程序而已,并没有改变大环境。如果想改变“当前的shell”,那么还是要使用chsh才可以。
3 I- U# P0 _' k4 ^8 c; y- R6 b$ S4 我想把我的shell改成zsh! ( y; ?6 B: {7 t' L% a/ K
[rocrocket@wupengchong ~]$ chsh -s /bin/zsh 2 G& w& {0 k% [, @. _. ]& a
Changing shell for rocrocket. ! W3 W7 x7 n( v, R) p2 v: K, p
Password: - i" C' W- @0 X9 ?( K* U' ^' F5 S
Shell changed.
. M/ L, z: Z7 s R, u[rocrocket@wupengchong ~]$ & B! ?4 C3 b. R2 N! f$ u
使用chsh加选项-s就可以修改登录的shell了! . C' d7 z+ P; h% l
你会发现你现在执行echo $SHELL后仍然输出为/bin/bash,这是因为你需要重启你的shell才完全投入到zsh怀抱中去。 ( v$ \% {( Y& A* D$ u) V
5 chsh -s到底是修改了哪里? 0 t+ ^' O. ] l& V! s. R1 {
秘密告诉你吧。chsh -s其实修改的就是/etc/passwd文件里和你的用户名相对应的那一行。现在我来查看下: & G6 t$ G) _: ~$ g3 n
[rocrocket@wupengchong ~]$ cat /etc/passwd|grep ^rocrocket
- Y1 y0 E' e0 yrocrocket:x:500:500:rocrocket,China:/rocrocket/PSB/home:/bin/zsh
; r5 h1 T/ \. o9 _* F4 v看!你可以发现输出内容的最后部分已经变成了/bin/zsh了!下次你重启的时候,linux就会读取这一命令来启动你的shell了!
4 E7 Z: t( v3 s4 X+ x+ L I: B好了,我要恢复正常工作,把shell修改会我熟悉的/bin/bash了!
0 ]- {$ S9 M/ n% _4 V; ?7 r/ f& n[rocrocket@wupengchong ~]$ chsh -s /bin/bash ( q1 Z; i9 Y) }1 A. j# j3 z
Changing shell for rocrocket.
- F( }. s% g' P# j Q3 Q* _Password: / p' |% C+ O8 |! N1 Z+ k% N
Shell changed.* T9 W) W) \" V) E! z( w; o
$ u5 i" o9 i+ ~; D
$ N: L9 h, g9 w& j4 p
|
|