天天看點

shell

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

hostname=`/bin/hostname 2>/dev/null`

histsize=1000

if [ "$histcontrol" = "ignorespace" ] ; then

    export histcontrol=ignoreboth

    export histcontrol=ignoredups

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

done

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

/etc/inputrc                             ~/.bashrc

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

/etc/sysconfig/i18n

繼續閱讀