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