标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-2673] 作者: 闲云野鸡 发表于: [2020-05-20]
本文共 [921] 位读者顶过
定义:
脚本: shell脚本是一种为shell编写的脚本程序。我们通常所说的shell都是指shell脚本,但是shell和shell script是两个不同的概念。 不同的shell具备不同的功能,shell还决定了Linux中默认的shell是**/bin/bash**,流行的shell有**ash、bash、ksh、csh、zsh**等,不同的shell都有自己的特点以及用途。 bash 大多数Linux系统默认使用的shell,bash shell是Bourne shell 的一个免费版本,它是最早的Unix shell,bash还有一个特点,可以通过help命令 来查看帮助。包含的功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径。 csh C shell 使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多, 已经被/bin/tcsh所取代。 ksh Korn shell 的语法与Bourne shell相同,同时具备了C shell的易用特点。许多安装脚本都使用ksh,ksh 有42条内部命令,与bash相比有一定的限制性。 tcsh tcsh是csh的增强版,与C shell完全兼容。 sh 是一个快捷方式,已经被/bin/bash所取代。 nologin 指用户不能登录 zsh 目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用该shell。 查看服务器支持什么shell cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin chsh -l /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin 查看当前的shell # echo $SHELL /bin/bash
改变shell 当前用户改变自己的shell(普通用户也可以执行) [root@localhost ~]# chsh #必变当前用户的shell Changing shell for root. New shell [/bin/bash]: /bin/csh #输入新的shell地址 Shell changed. [root@localhost ~]# chsh -s /bin/csh #改变当前用户shell,设置为 /bin/csh Changing shell for root. Shell not changed.
还有一种方法,需要管理员权限 # usermod -s /bin/sh xu
|