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

如何更改登录的shell

[复制链接]

该用户从未签到

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

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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