作者:嵌入式历练者
ID : eterlove
记下相关笔记,记录我的学习生活!站在巨人的肩上Standing on Shoulders of Giants!
该文章为原创,转载请注明出处和作者:https://blog.csdn.net/Eterlove/article/details/120633182
目录
1.创建一个脚本文件
- 到现在为止,打开终端在命令行下输入命令,并处理命令的结果,shell脚本的关键是输入多个命令并处理多个命令的结果。
- 简单的说,你可以在把两个及以上命令放在一行一起执行,只需在命令间加上分号隔开。
[shichenghong@localhost 桌面]$ cd /home;ls
aaa.txt bbb hello shichenghong ss.txt zzz.txt
[shichenghong@localhost home]$ date;who
2021年 10月 07日 星期四 08:29:56 EDT
shichenghong tty1 2021-10-07 08:22 (:0)
shichenghong pts/0 2021-10-07 08:28 (:0.0)
- 不过这样有个问题,每次都要输入大量的命令,那我们把这些命令放在文件中保存使用
- 创建shell脚本文件,首先使用文本编辑器(不熟悉vim的可看看我的其他博客),创建一个文件。
- 注意的是,在文件的第一行必须指定要使用的shell,其格式:#!/bin/bash ,在shell脚本中,#(井号)常用来用作注释,但第一行是例外。!惊叹号会告诉shell要用哪个shell来运行脚本(是的,你可以不用大多数系统默认的bash shell,还可以使用其他的脚本)
#!/bin/bash
#This script displays the date and who's logged on
date
who
- 看看上面另有的#后面的文字说明,它注释了这个脚本用来干什么,在未来几年它会提醒你!
- OK,基本完成!然后:wq保存文件test1开始运行,但结果可能让你有点失望。
[root@localhost home]# test1
bash: test1: command not found
- 没错,你要冲破第一个五指山是如何让你的bash shell找到你的脚本文件。接下来你可能听说环境变量这个概念,shell会通过PATH环境变量来查找命令,先快速查看下PATH环境变量。
[root@localhost home]# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin
:/sbin:/home/shichenghong/bin
- 要想让shell找到test1脚本,有两种方式:
【!】将shell脚本文件所处的目录添加到PATH环境变量中
【!】在提示符中用绝对或相对文件路径来引用shell脚本文件
在这里我采用第二种方式,之前博客中讲基本指令讲到cd..(两点操作符 .. 表示上一级目录,而单点操作符 . 表示当前目录,当时学的时候很鸡肋,这里却体现了其重要性)
- 记住为了引用当前目录下的文件,我们可以使用单点操作符.
[root@localhost home]# ./test1
bash: ./test: 权限不够
- 哦!好像不行!其实现在shell已经找到了test1脚本文件,但是shell清楚指出你没有执行该文件的权限(英文下为:Permission denied 权限不够),权限?听到文件权限想必老朋友已经看过这篇我的博客:Linux系列笔记----------理解文件权限(三)_Eterlove的博客-CSDN博客
https://blog.csdn.net/Eterlove/article/details/120611962
- OK,我们会用到chmod命令来给文件加上可执行权限: chmod u+x test1,现在我们在运行test1脚本文件,恭喜你已经写好了一个shell脚本!
-
[root@localhost home]# ls -l test1 -rw-r--r--. 1 root root 73 10月 7 09:18 test1 [root@localhost home]# chmod u+x test1 [root@localhost home]# ./test1 2021年 10月 07日 星期四 09:50:26 EDT shichenghong tty1 2021-10-07 08:22 (:0) shichenghong pts/0 2021-10-07 08:28 (:0.0)
此外,下节将教你如何使用结构化命令(if-then和case语句)来编写一些复杂和实际作用的脚本文件,待更新!!!
动手才能收获。最后感谢大家阅读!