找回密码
 注册
关于网站域名变更的通知
查看: 258|回复: 1
打印 上一主题 下一主题

如何更改登录的shell

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-24 10:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

该用户从未签到

2#
发表于 2020-3-25 17:48 | 只看该作者
如何更改登录的shell
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 13:39 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表