善用工具(2)--Shell脚本
一、Shell脚本的基本功能及使用 1、Shell 是什么? ?? 2、Shell 如何运行的? ?? 3 、编写一个shell脚本 打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。 #!/bin/bash
echo "Hello World !"
注释: 第一行: #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。 第二行: echo 命令用于向窗口输出文本。 ? 4、运行 Shell 脚本有两种方法: (1)test.sh 作为可执行文件直接执行(注意给test.sh文件增加“执行”权限) ./test.sh #执行脚本文件tesh.sh 注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin,/sbin,/usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。 (2)执行解释器,将test.sh作为解释器参数运行 这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名。 注:这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。 /bin/sh test.sh
/bin/bash test.sh
? 五、菜鸟教程--Shell教程 Shell既然是一种编程语言,那么理所当然地支持定义变量、定义数组、接受参数传递、进行流程控制等等功能。而shell之所以说强大,是由于你可以在shell脚本中编写Linux系统支持的所有命令(包括Linux自带的命令,以及用户安装的命令,如:java、nginx、docker等),因此,你可以使用shell脚本来编写“自己的指令集”,能大大简化重复性操作指令的输入。 对于Shell编程语言的基本语法,网络上有很多教程,小六在此不再赘述,在此仅留下菜鸟网站的Shell教程,供小白参考学习。 ? ? ? 推荐阅读: 菜鸟教程--Shell教程 ? 二、小六使用Shell脚本的一些实践 1、执行脚本,登录我的远程服务器 近期,小六在学习分布式技术,于是将自己的两台旧电脑做成了服务器,由于经常要通过“ssh”来远程访问服务器,于是所幸编写了两个脚本"a-server.sh"、"b-server.sh",只需要执行对应的shell脚步,就可以自动登录到对应的远程服务器,节省了重复性的"ssh -l *** -o ServerAliveInterval=30 ***"的输入,一时令小六暗暗的小满足了一把(没办法,小六是一个很容易满足的人好吧!)。
2、编写my-docker.sh脚步,接收外部的参数,根据参数动态执行"docker"命令 近期,小六在学习docker自动化部署,由于要经常性的“启动docker容器”、“进入docker容器”、“查看docker容器的状态”等等。刚开始时,小六都是手输一个个“docker”命令,因此输入命令的动作实在是耗费了不少时间。后来想起Shell脚步,于是尝试通过shell脚本来简化命令的输入动作,具体步骤如下:
$ my-docker.sh ps #执行命令:docker ps,显示docker运行的容器列表信息 $ my-docker.sh exec-n #进入run-nginx容器 $ my-docker.sh exec run-nginx #进入run-nginx容器 ? 转载说明:本篇博客的“第一节”转载自“菜鸟教程”网站。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |