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/profilepathmunge () {
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 fiHOSTNAME=`/bin/hostname 2>/dev/null`
HISTSIZE=1000 if [ "$HISTCONTROL" = "ignorespace" ] ; then export HISTCONTROL=ignoreboth else export HISTCONTROL=ignoredups fiexport 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