本文源自本人的学习记录整理与理解,其中参考阅读了部分优秀的博客和书籍,尽量以通俗简单的语句转述。引用到的地方如有遗漏或未能一一列举原文出处还望见谅与指出,另文章内容如有不妥之处还望指教,万分感谢 !
-
shell
是UNIX系统的用户与操作系统之间的一种接口。它既是UNIX系统的命令解释程序,又是一种高级的命令程序设计语言。 - 作为命令解释程序,shell接收用户输入的命令,将命令翻译成一个动作序列,然后调用系统过程执行这条命令。
- 作为命令程序设计语言,shell具有一般高级语言的许多特征,如变量定义、赋值、条件和循环语句等。用户可以利用shell的这些功能将多条命令组织成一个命令程序,以完成某种特定的任务。这个命令程序称为shell程序或shell过程
- shell语言是指UNIX操作系统的命令语言
- iOS 开发中多用于通过shell来完成组件的提交、打包动态库等操作;
关于 $
通常情况下,在工作中用的最多的有如下几项:
$0
: Shell 的命令本身
1到9
:表示 Shell 的第几个参数
$?
:显示最后命令的执行情况
$#
:传递到脚本的参数个数
$$
:脚本运行的当前进程 ID 号
$*
:以一个单字符串显示所有向脚本传递的参数
$!
:后台运行的最后一个进程的 ID 号
$-
:显示 Shell 使用的当前选项
......
基础语法
- 流程控制
单分支条件判断语句:
方式一:
if [ -d ${INSTALL_DIR} ]
then
程序
fi
方式二:
if [ -d ${INSTALL_DIR} ]; then
#删除
rm -rf ${INSTALL_DIR}
fi
if [] then :如果条件成立那么执行程序
fi : 标识 if代码段结束
总结:
- if 语句使用fi 结尾,和一般的语言使用的大括号结尾不同
- [] 中写条件判断式,所以中括号和条件判断式之间必须有空格
- then后面跟符合条件之后执行的程序,可以放在[]之后,需要用
;
即分号分割,也可以换行写,但换行写不需要用分号 - ${} 表示边界
整数的比较
整数的比较.png
字符串的比较
字符串的比较.png
shell中关于文件的判断
-
文件类型判断
文件类型判断@2x.png
-
文件权限判断
文件权限判断@2x.png
-
文件之间比较
文件之间比较@2x.png
网友评论