Shell 学习笔记
来源:互联网 发布:js正则过滤表情符号 编辑:程序博客网 时间:2024/06/12 00:06
它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。
可以说,shell使用的熟练程度反映了用户对Unix/Linux使用的熟练程度。
注意:单独地学习 Shell 是没有意义的,请先了解 Unix/Linux 基础。
Shell有两种执行命令的方式:
- 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。
- 批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。
Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。
Shell初学者请注意,在平常应用中,建议不要用 root 帐号运行 Shell 。作为普通用户,不管您有意还是无意,都无法破坏系统;但如果是 root,那就不同了,只要敲几个字母,就可能导致灾难性后果。
具体使用学习可以参照Shell基础
1.echo,输出,printf,类似C语言函数,但是有稍微不一样的地方
2. read, 从标准读入
3.定义变量,直接使用赋值方式(Var="XXX" 等号两边不要有空格),引用变量使用$(${Var})最好使用中括号将其括起来;可以使用readonly修饰变量;
4.设置环境变量 unset set
5.$符号可以引用参数,而#则是注释,但是#结合字符串或者是数据变量,那么,能够等到其长度,使用$的形式有"${var:-、+、=、?"string"}",表示对变量的不同情境的不同操作
6. 命令替换``, 即将命令放入变量也是可以的,(DATE = `date`)
7.支持算术、关系、布尔、字符串、文件测试 运算符
8.逻辑控制形式:
if[ expression ] then else fi;
if[ expression ] then elif[ expression ] then else fi;
for... in... do... done
while[ expression ] do ... done
同理也是支持continue/break
[ expression ]必须要两边有空格
9.函数
定义: functionName(){},可以有返回值或者是没有返回值,类似js
引用:functionName p1 p2...
删除:unset .f functionName
10.流控制符号, >,>>, <,特殊的输出方向是/dev/null
11.shell 脚本文件可嵌入其他shell脚本文件,用法:
. filename.sh
例如:
subscript.sh的内容如下:
#!/bin/bash
url="http://www.xxx.com"
test.sh的内容如下
#!/bin/bash
../subscript.sh
echo$url
- [Bash Shell] Shell学习笔记
- [Bash Shell] Shell学习笔记
- shell shell学习笔记001--什么是shell?
- shell学习笔记【原创】
- shell学习笔记2
- shell(bash)学习笔记
- Shell学习笔记
- shell学习笔记《一》
- Unix shell学习笔记
- shell编程学习笔记
- shell学习笔记
- Linux Shell学习笔记
- Shell学习笔记
- Power Shell 学习笔记
- Shell 编程-学习笔记
- shell编程学习笔记
- Shell学习笔记
- shell 学习笔记
- 在Android 中使用KSOAP2调用WebService
- Swift中assert(断言)的使用
- iOS开发中的推送通知的讲解
- 作业:C++作业4
- 使用ThumbnailUtils类获取视频的缩略图
- Shell 学习笔记
- MacOS登陆win10 时出现”远程桌面无法验证您希望连接的计算机的身份"解决方法
- OpenCV之ROI图像叠加和混合
- dll教程1:如何编写dll,一步一步,全部可行
- 阿里云ecs云服务器安装wdcp控制面板教程(推荐CentOS6.5)
- ASP.NET mvc 在视图中使用@helper封装输出代码
- kafka基本命令
- iOS: 在键盘之上显示一个 View
- Android 项目 UI混乱,Button变大,解决方案