这节说下shell编程的一些最基本的规则。
1、shell文件的后缀shell脚本的后缀通常为.sh结尾。就像python文件都是以.py结尾、php文件都是以.php结尾一样,这样我们一看到.sh我们就知道这是一个shell脚本。但是我们在创建shell脚本时不以.sh结尾命名,直接就是文件名这么操作可以吗?答案是可以的,这样也是可以执行的,但是一般情况下在创建shell脚本时,命名的时候就直接加上.sh了,这样的好处是能更明显的让大家知道这是一个shell脚本,这是shell的一种命名规范。
、shebangshebang说的是#!,通常出现在脚本的第一行,一般用法为在#!后加空格再加上解释器的绝对路径,其作用是告诉系统这个脚本要用什么解释器来执行,如果不加#!其默认使用bash解释器来进行使用,可以看以下几个例子。
(1)定义了使用bash来编译shell脚本#!/bin/bash#约定使用bash解释器来进行编译echo"HelloWorld!"#打印“HelloWorld!”
打印结果为:HelloWorld!
()未定义bash来执行shell脚本。echo"HelloWorld!"#打印“HelloWorld!”
打印结果为:HelloWorld!
()定义了使用python来编译python脚本#!/usr/bin/pythonprint("Helloworld!")
打印结果为:Helloworld!
(4)未定义shebang来执行python脚本print("Helloworld!")
打印结果会报错
(5)解释器不存在或者写错解释器#!/usr/bin/python1print("Helloworld!")
打印结果报错
总结下,由上面5种情况大致可以看出shebang的用法,如果没有加shebang,则默认使用bash来执行脚本,就像上面第二种情况一样,如果没有加shebang仍使用其他语言的写法,则会报错,就像上面说的第4种情况,不过为了规范代码规范,最好在第一行加上shebang,像第一种和第三种写法,很明显就知道这个脚本时要用shell来执行还是要用python来执行,像第5种,如果解释器写错路径或者写错解释器,会报解释器错误的提示。
、脚本的执行执行脚本我们只需要./脚本名即可,但是在正常情况下我们写完脚本是没有执行权限的,我们新建一个脚本来看下他的权限。
可以看到他没有执行的权限,这时候我们执行下quanxian.sh看看会报什么错误。
这时候我们需要用到chmod命令来给他执行权限。给完之后我们再执行看下能否成功。
这时候脚本就能执行成功了。
4、shell脚本的注释shell脚本注释也是用#来对代码内容进行注释。
#!/bin/bashecho"helloworld"#注释#这是注释
打印结果为:helloworld
刘阿童木