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