/
...
/
/
八.Bash Script Rule
Search
Try Notion
八.Bash Script Rule
合法Shell
Shell一般安装目录在/bin/(z)(c)(ba)(k)sh
默认Shell 位于/etc/passwd 最后一行
Profile
/etc/profile 全局设定(For Login_Shell)
/etc/profile.d 所有用户共享shell脚本 如alias
/etc/sysconfig/i18n 由profile.d/lang.sh 调用
读完/etc/profile后读个人配置文件(Login_Shell)
~/.bash_profile
调用~/.bashrc
~/.bash_login
~/.profile
依次读 上面3个中其中一个(为照顾其他Shell使用习惯)
Non-Login Shell
仅读取~/.bashrc
bashrc 样例在/etc/sao’e
通过source来读入配置文件,也可手动调用
/etc/issue /etc/motd 未登入/登入后提示信息
变量
设置规则
变量创建赋值:[VarietyName]=[Value]
取消变量: unset [VarietyName]
标识符规则:英语或数字 不以数字开头
引用:$[Name]或${[Name]}
附加变量内容 如: PATH=$PATH:/home/bin
转换环境变量:export [VarietyName]
命令输出当作字符串:$(Cmd)cd /lib/modules/$(uname -r)/kernel
环境变量
通常大写标识
env 显示所有环境变量 set 显示自定义和环境变量
export 转化为环境变量
环境变量可以在子Shell中得到
常见变量
HOME
MAIL
PATH
OSTYPE HOSTTYPE MACHTYPE
LANG
LANG LC_ALL 全局
LC_CTYPE 字符辨识
LC_MESSAGE 消息显示
PS1
\u UserName
\h MachineName
\w 工作目录
\$ 提示符
\t 时间
\[\e[1;32;40m]...\[\033[00m\]颜色
\e \033 等价形式,显示颜色起始
第一组—字字宽
第二组—字体颜色
第三组—背景颜色(可选)
$ Shell的PID
? 上个命令回传
反单引号 包裹的命令输出作为字符串
变量操作
删除: ${[varName] [Action] [mathStr]}
[Action]
# 从左删除,且匹配最短
## 匹配最长
% 从右
%%
替换: ${[varName] [/] [MatchStr]/[NewStr]}
/ 仅替换第一个匹配
// 替换所有
变量运算符号: ${[VarMain] [Symbol] [Value]}
:-
选择返回[Varmain]或[Value]其中[VarMain]优先
优先:若[VarMain]有值则返回[$VarMain]
: 版本:空字符串视为表达式无效,不返回
= := 返回值相同,但[VarMain]修改成和返回值一样,返回值为空不修改
:+
当[VarMain]有值返回[Value],无值不返回
: 版本:空字符串视作有值
:?
[VarMain]有值返回[Value],无值输出[Value]到stderr
: 版本:空字符串视为表达式无效,不返回
其他Bash符号
History操作
history
n 列出数量
w -r 写入historyfile 默认~/.bash_history
! 符号
!! 执行上一条命令
!66 执行第66条命令
任务管理
终端环境设置
stty
a 列出全部终端环境设置
eof <Ctrl-D> End of File
erase <Ctrl-?> 先后删除字符
intr <Ctrl-C> 中断信号到当前程序
quit quit信号
start <Ctrl-Q> 某个程序停止后,重新启动,配合stop 使用
stop <Ctrl-S> 停止屏幕的输出
susp 送出一个term app信号(暂停程序)
set
介绍:Bash自己终端配置
echo $- 来查看终端配置
himBhs 为默认
u 默认不启用,使用未设置变量,显示error
v 默认不启用,信息输出时,显示原始信息
x 默认不启用,命令执行前显示命令内容.在最前面有+-
h -H 与History有关
m 和工作管理有关
b[] 作用有关
C 使用> 若文件存在则不会被覆盖
其他参见Profile /etc/inputrc