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 �Ct/-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