Shell 脚本编程笔记(一) Hello Shell

时间:2022-03-01 23:07:44

最近不断在接触Linux操作系统,对它一个终端走天下的特性感到十分新奇和伟大。同时也被各种命令折磨的死去活来。。。公司的一个老同事给我讲,在公司的*geek宅都是只用一个黑黑的框完成一切的。结果我一下就想到了[\邪恶的笑]

好吧,不扯了,为了能够在公司的美女同事面前秀一下,我决心从Shell脚本开始,嘻嘻

1、Shell 简述

Shell其实是一种具备特殊功能的程序, 他提供了用户与内核进行交互操作的接口,Shell接受用户的命令并将其发送到内核进行执行。内核是Linux系统的心脏,在加电运行后就一直驻留在内存,而Shell在用户登录Linux后就在内存中执行。用过Linux的读者很容易理解,打开一个终端就是打开了Shell的命令接受界面。

Shell 脚本编程笔记(一) Hello Shell

鸟哥的私房菜盗来一张图片,来更清楚的解释shell的位置和作用。关于Shell和Linux的关系等等还有很多,但是为了明确主题Shell编程,就大概介绍一下Shell,很多方面并没有提及。

2、 Hello Shell

      使用Shell脚本的最初动机可能在于省去手动输入命令的麻烦,Shell脚本可以将多个Linux命令整合到一个文件中,这样我们就不需要每次都输入同样的命令。接下来就看一个很简单的例子,来直观感受一下Shell脚本和脚本的执行。

#! /bin/bash                                             

cd                     #切换到根目录
. .bash_profile #执行文件.bash_profile
date #显示日期
who #显示当前的登录用户

这个脚本把四个Linux的命令放在了一起,每次执行脚本时便会依次执行这四条命令。关于Linux中的常见命令后面还会有所整理,这里我们先关注一下Shell脚本的结构:

 #!/bin/bash

脚本的第一行是告诉Linux系统这个文件需要解释器的解释,同时指出解释器的位置。一般在Linux中的解释器为bash或者sh当然也有其他的解释器,如sed和awk。

cd                     #切换到根目录
. .bash_profile #执行文件.bash_profile
date #显示日期
who #显示当前的登录用户

Shell脚本的注释使用“#”

命令(command)通常由命令名称、选项和参数三部分构成,之间用空格或Tab键分开。Linux中有成千上万的命令,不可能所有的命令都记得,可以使用man [命令名称]查询。

3、 脚本的执行

Linux中,文件具有三种权限,分别是读、写、执行。所以,只有给Shell脚本赋予可执行权限,才能执行,假设上面的脚本名字是hello.sh,命令应该是这样的:

chmod +x hello.sh

然后在脚本所在的目录中使用./hello.sh执行脚本。

(未完待续)