Linux培训
达内IT学院

400-996-5531

Shell 脚本的创建和执行


Linux 内置了shell程序,几乎所有的用户程序都是依靠shell执行的。前几章节介绍的终端可以理解是Linux 提供的shell 用户界面,虽然没有windows 的用户桌面好看。终端的"ifconfig"就是一个shell 执行的程序。

Shell可以执行编译好的C 语言可执行程序,当然也可以执行各种shell脚本,还有一些其他语言的脚本或者高级语言编译的可执行程序。

bash 脚本默认以.sh文件结尾的,但不绝对是。

开始一门语言的第一个程序肯定是"Hello World!",下面我们来创建个脚本并执行。

Shell 脚本的创建和执行

我们使用vim(前面有介绍过vim,可以回去看一下)创建了一个脚本helloworld.sh,默认没有执行权限。看下cat 的脚本内容,介绍下代码的含义:

#!/bin/sh #这句代码没什么实际功能,只是说明这个是bash 脚本,#是注释这行代码的意思。

echo #是bash 脚本的打印命令。下章详细介绍。

执行脚本有两种方式:

1)sh xxx.sh 或者bash xxx.sh,但是这种方式不常用

2)./xxx.sh,为什么要加./来指定脚本的目录,而我们之前执行的ifconfig 不需要指定ifconfig 文件所在目录是哪里?因为linux 系统有个默认的PATH环境变量,标识了可执行程序的目录,这些目录里的程序可以直接默认被系统在任何路径下找到并执行,而我们当前目录是不在PATH 下的,所以不能像ifocnfig 一样。看图:

Shell 脚本的创建和执行

注意到ifconfig 是在/sbin/下,而/sbin 是PATH环境变量的其中一个目录,所以不需要指定在哪个目录下。

我把helloworld.sh 所在的当前目录加到PATH 变量里:

Shell 脚本的创建和执行

可以看到成功执行了。

说明一下,./ 是相对路径,也可以用绝对路径执行:

Shell 脚本的创建和执行

绝对路径是从根目录到某个目录的全路径。./ 是相对路径(当前目录),../也是相对路径(表示上一级目录),同样 .././../也是相对路径(上级的上级目录)。关于"PATH 环境变量"和"绝对路径/相对路径"这点一定要记住。

我们说.sh 是脚本的后缀,如果不带.sh 呢?

Shell 脚本的创建和执行

也是可以执行的。

即使改成.c 也是可以执行的:

Shell 脚本的创建和执行

所以.sh 只是让我们方便看出这是个bash 脚本,而并没有什么实际意义。

但是,我建议大家还是按照我的helloworld.sh 格式写,方便别人阅读:

Shell 脚本的创建和执行

非特殊情况,请带上.sh 和 "#!/bin/sh" !

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Linux安装程序 - 3
下一篇:Linux 基本命令10 条

Shell命令的两种执行方式

Shell 脚本的创建和执行

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省