shell编程特点
shell是Unix/Linux最重要的软件之一,目前最流行的shell被陈伟Bash,几乎所有的Linux和绝大部分的Unix都可以使用Bash。
shell是一个命令解释器,是介于操作系统内核与用户之间的一个绝缘层。准确地说,他也是一种强力的计算机语言,一个shell程序被称为一个脚本,
是一种容易使用的工具,它可以通过将公共程序,工具,和编译过的二进制程序粘合在一起来建立应用,事实上,所有的Unix命令和工具再加上公共程序,
对于test与循环结构,也会给脚本添加强力的支持和增加灵活性。shell脚本对于管理系统任务和其它的重复工作的历程来说,表现的非常好
shell脚本遵循典型的Unix哲学,就是把大的复杂的工程分成小规模的子任务,并且把这些部件和工具组合起来。
什么时候不使用shell脚本?
1、资源密集型的任务,尤其在需要考虑效率时(排序,hash等) 2、需要处理大任务的数学操作,尤其是浮点运算,精确运算,或者复杂的算术运算 3、有跨平台移植需求 4、负责的应用,在必须使用结构化编程的时候 5、对于安全有很高要求的任务,
/etc/shells 查看系统中的shell
[root@localhost ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh [root@localhost ~]#
chsh -l改变用户的shell
[root@localhost ~]# echo $SHELL # 当前的shell /bin/bash [root@localhost ~]#
bash的特性
TAB history !$ alt+ ~/.bash_history ~/.bash_logout在用户退出的时候调用
alias别名 -- 命令过长复杂的时候可以用
grep --color=tty
alias gc='grep --color=tty'当前终端生效 alias 查看别名 [root@localhost ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias vi='vim' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' [root@localhost ~]# [root@localhost ~]# which rm alias rm='rm -i' /usr/bin/rm [root@localhost ~]#
针对所有终端生效需要修改文件
[root@localhost ~]# vim /etc/bashrc
[root@localhost ~]#
shell显示带颜色的字体