背景:用戶家目錄下的.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
