1.shell人机交互的接口。

查看系统shell: cat /etc/shells

 

2.shell的功能

history(历史命令),命令补全,命令别名(alias),通配符(wildcard),程序作业控制,程序脚本

 

3.变量:

用一个固定的字符表示一串设置或是一组保留的数据,可以分为全局变量和局部变量

变量的设置规则:

a,变量与变量内容以一个“=”号来连接

b,“=”两边不能直接接空格

c,变量名称为字母或数字,但不能以数字开头

d,可使用“”号或‘’号将空格内容连接起来,``反引号为变量中需要先执行的命令,\:转义符将特殊字符变成一般字符(enter, 空格,$,!,/)

  “”号可以保持变量的原有特性

‘’单引号可以使特殊字符变成一般字符

 

4. 变量的显示,读取,声明:

echo :显示变量的内容ex:echo $var

read: 读取变量内容 ex: read –t/-p var

declere :声明变量为数组,整数

 

5.变量内容的删除,替代与替换:

${var#key}: 删除匹配key最短的数据

${var##key}:删除匹配key最长的数据

${var%key}:反向删除匹配最短的数据

${var%%key}:反向删除匹配key最长的数据

${var/old/new}:第一个old字符将被替换成new

${var//old/new}:替换所有old字符成new

 

6.bash环境与配置文件:

/etc/issue   /etc/motd
登陆过程会使用的配置文件:/etc/profile

pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}

if [ -x /usr/bin/id ]; then
    if [ -z "$EUID" ]; then
        # ksh workaround
        EUID=`id -u`
        UID=`id -ru`
    fi
    USER="`id -un`"
    LOGNAME=$USER
    MAIL="/var/spool/mail/$USER"
fi

# Path manipulation
if [ "$EUID" = "0" ]; then
    pathmunge /sbin
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
else
    pathmunge /usr/local/sbin after
    pathmunge /usr/sbin after
    pathmunge /sbin after
fi

HOSTNAME=`/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
    export HISTCONTROL=ignoreboth
else
    export HISTCONTROL=ignoredups
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "$PS1" ]; then
            . $i
        else
            . $i >/dev/null 2>&1
        fi
    fi
done

/etc/profile                               ~/.bash_profile:~/.bash_login:~/.profile

/etc/inputrc                             ~/.bashrc

/etc/profile.d/*.sh    <----->       /etc/bashrc

/etc/sysconfig/i18n