背景:用户家目录下的.cshrc文件定义的快捷命令失效。查看用户的shell类型是bash shell,而.cshrc是运行在C shell 下才会有效,因此需要更改当前用户的shell类型。
简介:
shell的脚本一般用.sh作为后缀,在linux上没有特别含义。
脚本的第一行有#!/bin/bash或者是其他的解释器,如#!/bin/csh,执行该脚本时系统会使用该注明的解释器来解释。
Bourne Shell(即sh)是UNIX最初使用的shell,平且在每种UNIX上都可以使用。Bourne Shell在shell编程方便相当优秀,但在处理与用户的交互方便作得不如其他几种shell.
LinuxOS默认的是Bourne Again Shell,它是Bourne Shell的扩展,简称bash,与Bourne Shell完全兼容,并且在Bourne Shell的基础上增强了很多特性。
C Shell是一种比Bourne Shell更适合的变种Shell,它的语法与C语言很相似。Linux为喜欢使用C Shell的人提供了Tcsh。
Tcsh是C Shell的一个扩展版本。Tcsh包括命令行编辑,可编程单词补全,拼写校正,历史命令替换,作业控制和类似C语言的语法,他不仅和Bash Shell提示符兼容,而且还提供比Bash Shell更多的提示符参数。
chsh命令:
chsh 这个命令现在一般被用来替换,usermod -s 命令即更改用户登录的shell。其常用的只有两个参数 -l 和 -s
chsh -l 起到的作用是列出当前系统的所有shell
[root@z home]# chsh -l /bin/sh /bin/bash /sbin/nologin /bin/zsh
chsh -s 就是为用户指定shell了
cat /etc/passwd|grep "username" ---查看当前用户所用的shell chsh -s /bin/csh "username" ---更改当前用户的shell