|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
! ^& T& Z6 C/ F4 l$ K/ }
1 我想知道我机器安装了哪些shell?
! R/ U6 h* U* V# R, N, L0 | ' P K$ H; f7 C& o4 s
两种方法可以查看:
( K( c2 t* ?: \# m, v& a/ A第一种: ; v( o8 E0 ?6 @0 W/ A
[rocrocket@wupengchong ~]$ chsh -l + K) { Z) X/ z- W
/bin/sh - Y, X0 B& I4 k: B8 w$ w
/bin/bash
! Y5 F* J- ?7 E- p2 L& [. A. m5 r/sbin/nologin
! r! Z# Y; s, e9 N/bin/zsh
3 E# P [9 P3 x. S2 B" f/ Q- U第二种:
4 m* G0 U$ o5 I$ h; A[rocrocket@wupengchong ~]$ cat /etc/shells
; b, E0 g. V5 L/bin/sh - p0 Y. P; C7 U& d0 s, Q: k
/bin/bash 1 N0 K& i2 R3 f/ G
/sbin/nologin . X! X9 _ N5 }
/bin/zsh
% C; p7 t. \' q4 t; B3 B其实chsh -l也是来查看这个文件。 / T6 x. _) Q2 Z" k d+ V
6 m$ S& n* h, T
2 我想知道我当前正在使用的shell是哪个阿?
q+ s5 V4 N( s! g[rocrocket@wupengchong ~]$ echo $SHELL
+ k' p( D% e: `# V/bin/bash
0 b' o7 |& |. U/ I8 Z6 S注意SHELL一定要是大写。可以看到,我目前使用的shell是/bin/bash
/ D7 A, u5 b* ^. f# p, \& k3 执行了zsh之后,我查看当前shell类型仍然是/bin/bash呢? % d& g0 f5 N' G9 V
请注意,我们虽然执行了zsh,但是所谓“当前的shell”是一个大环境的概念,是针对一个已登录的用户而言的。而我们执行zsh只是启动了一个zsh的解释器程序而已,并没有改变大环境。如果想改变“当前的shell”,那么还是要使用chsh才可以。 : |! s: S, `- l5 T
4 我想把我的shell改成zsh! . V, a! t. o \9 f7 e+ r+ m
[rocrocket@wupengchong ~]$ chsh -s /bin/zsh ) s* ]6 h0 r, L2 E) j
Changing shell for rocrocket.
) h; S' u; [4 |# ?1 m: l& O0 s$ @Password: 7 X1 X& K D9 ?' L9 M6 c
Shell changed. ' u$ y& M9 ?% v* P& D
[rocrocket@wupengchong ~]$
# w0 u# R& N- O使用chsh加选项-s就可以修改登录的shell了! ! L5 P0 O; b4 S( C
你会发现你现在执行echo $SHELL后仍然输出为/bin/bash,这是因为你需要重启你的shell才完全投入到zsh怀抱中去。
4 h, c* O2 |4 f: d, g- K5 chsh -s到底是修改了哪里? 6 H8 ]% U& |. l# Y- }9 c/ v( a$ o
秘密告诉你吧。chsh -s其实修改的就是/etc/passwd文件里和你的用户名相对应的那一行。现在我来查看下: " u$ s5 i# g: q0 S0 u" T6 f: u
[rocrocket@wupengchong ~]$ cat /etc/passwd|grep ^rocrocket * O7 G# r! P0 }( D/ p; u. O7 g! \( [
rocrocket:x:500:500:rocrocket,China:/rocrocket/PSB/home:/bin/zsh
+ D8 ~) A5 h$ r9 {$ r2 C; @看!你可以发现输出内容的最后部分已经变成了/bin/zsh了!下次你重启的时候,linux就会读取这一命令来启动你的shell了!
8 k# w) q, p- \# L好了,我要恢复正常工作,把shell修改会我熟悉的/bin/bash了!
7 c3 k- M; E6 j' j* h) p[rocrocket@wupengchong ~]$ chsh -s /bin/bash K% m$ |; i+ V% ]2 J+ n9 Q7 E1 Q
Changing shell for rocrocket.
5 c" [# s- Y/ H3 k2 iPassword:
1 k. O( [" i$ }Shell changed.9 _- C* [3 x1 v8 R) `1 \5 h
, W8 @/ }7 r A5 Z( k4 |$ s1 }4 c$ N$ O9 E' ?' m5 Q
|
|