Linux bash及脚本程序设计
bash及脚本程序设计
4.1shell的基本机制
shell 概述
Shell 的功能
shell是命令解释器
文件名替换、变量替换、命令替换
历史替换、别名替换
流程控制的内部命令
Shell的特点
主要用途:批处理,执行效率比算法低
shell是面向命令处理的语言,提供的流程控制结构通过对一些内部命令的解释实现
bash的启动
三种启动方法:注册shell、交互式shell、脚本解释器
启动交互式bash
自动执行的一批命令,即系统级命令
当bash作为注册shell被启动时,自动执行/etc/profile的命令
当bash作为交互式shell启动时,自动执行/etc/bash.bashrc
当bash作为注册shell退出时,自动执行etc/bash.bash.logout
输入重定向
< filename:从数据文件中获取stdin。
<< word:从shell脚本获取数据直到遇到定界符word
当定界符加上单引号,不允许内容替换(变量替换、命令替换等)
<<< word:从命令行获取信息作为标准输入
4.2变量
变量的赋值及使用
bash变量:第一个字符必须是字母,其余字符可以是字母、数字、下划线
存储的内容是字符串
变量名无需声明:赋值addr=20.1.1.254 引用:ftp $addr
引用的方法有两种:$addr 或 ${addr}
echo ${addr}A在引用变量后可以级联A,另一种不可以,相当于引用addrA
shell内部开关:
set -u:当引用一个无定义的变量时,产生一个错误
set +u:当引用一个无定义的变量时,认为是一个空串(默认)
set -x:执行命令前打印出shell替换后的命令及参数,前面用+号区分
set +x:取消上述的设置
在脚本中编辑文件
read读用户的输入,从标准输入中读入一行内容赋值给变量
read name
ed
4.3替换
shell替换:文件名生成
遵循文件通配符规则,按照字典序排列
命令替换(反撇号)
now = `data`


