Linux shell 编程入门笔记

本文学习内容如下:

  • 指定解析器(bash、python、ruby)
  • 条件控制 (if...fi 和 for do...done)
  • 命令行参数获取(类似c的main参数获取)
  • shell脚本的执行--添加可执行权限(chmod +x ***.sh)
  • 默认脚本不再当前shell执行,添加source 则可指定在当前shell中执行
  • 远程执行
  • 建议用其他语言写脚本--打算用python或ruby

查阅资料
Shell教程--菜鸟教程
Shell脚本编程30分钟入门
Linux Shell编程--简书
happypeter老师的笔记

制定解析器后,开始编程


制定解析器bash

条件控制循环嵌套

条件控制循环嵌套
happypeter老师建议的8个技巧

解析器可以是:bash、python、ruby等语言,第一行指定解析器是谁
语句即命令
调用函数(命令就是语句)


调用函数
脚本即语句
  • 由于命令对空格是敏感的,所以脚本语句对空格也是敏感

  • 位置参数- 0:表示第一个参数;1:表示第2个参数。。。类似smali语法中的参数;$#表示多少个参数

位置参数
使用参数的sh脚本demo

shell脚本的执行--添加可执行权限


shell脚本的执行
  • 执行脚本其实就是在另外一个看不见的shell中执行,也就是说不过在脚本中改变了目录,其实当前的shell目录不会发生改变,这点与windows的批处理文件不同。(对于windows新推出的powershell没用过,不能下结论)
image.png

如果需要在当前shell中执行,则需要添加source 关键字
在当前shell中执行脚本


在当前shell中执行脚本
source ***.sh

为某个目录的文件添加扩展名.txt


为某个目录的文件添加扩展名
为某个目录的文件添加扩展名脚本
执行效果

远程执行

image.png
引号中的语句就会被执行
ssh -t peter@happycasts.net 'touch a.txt'

确认执行的例子

确认执行的例子
确认执行的例子代码
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容