🎨Bash基础入门与应用
Shell执行方式
bash hello.sh #方式一
cat hello.sh | bash #方式二
bash < hello.sh #方式三
chmod +x hello.sh #方式四
#方式五
source hello.sh
#source有一个简写形式,可以使用一个点(.)来表示。
#方式六,远程加载执行
curl -s http://localhost/hello.sh |bash
#wget方式
wget -qO - http://localhost/hello.sh|bash配置文件
全局,针对所有用户
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
#只针对个人
~/.bash_profile
~/.bashrc环境变量
常用环境变量
BASHPID:Bash 进程的进程 ID。
DISPLAY:图形环境的显示器名字,通常是:0,表示 X Server 的第一个显示器。
IFS:词与词之间的分隔符,默认为空格。
LANG:字符集以及语言编码,比如zh_CN.UTF-8。
PATH:由冒号分开的目录列表,当输入可执行程序名后,会搜索这个目录列表。
SHELL:Shell 的名字。
SHELLOPTS:启动当前 Shell 的set命令的参数,参见《set 命令》一章。
TERM:终端类型名,即终端仿真器所用的协议。
内置变量:PS1,PATH,UID,HOSTNAME,$$,BASHPID,PPID,$?,HISTSIZE
位置、特殊变量
$1,$2 #对应参数
$0 #命令本身
$* #全部参数命为一个字符串
$@ #每个参数为独立字符串
$# #传递给脚本的参数的个数
$? #0代表成功
$? 值 1-255 #代表失败
$$ #当前SHell的进程ID
$_ #为上一个命令的最后一个参数
$! #为最后一个后台执行的异步命令的进程ID
$- #当前Shell启动参数
$? 是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值。
用户自定义变量
变量引用
· $name
弱引用,变量引用会被替换为变量值
· ${name}
强引用,不会替换为变量值,保持原字符
如果变量的值本身也是变量,使用${!varname}读取最终的值
脚本调试
字符串操作
判断
注意 [ ] 需要空格,否则会报错误
[ ]和[ [ ] ]的区别是,双括号是增加版,支持正则表达式和通配符
read
-p 指定要显示的提示
-s 静默输入,一般用于密码
-n N 指定输入的字符长度N
-d '字符' -t N 输入结束符 TIMEOUT为N秒
流程控制
条件判断case语句
循环
定义函数
Last updated
Was this helpful?