【Linux系列连载】--------Shell编程基础,创建一个基本shell脚本(五)

作者:嵌入式历练者

ID : eterlove

记下相关笔记,记录我的学习生活!站在巨人的肩上Standing on Shoulders of Giants!

该文章为原创,转载请注明出处和作者:https://blog.csdn.net/Eterlove/article/details/120633182

目录

1.创建一个脚本文件


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语句)来编写一些复杂和实际作用的脚本文件,待更新!!!

                                动手才能收获。最后感谢大家阅读!

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式历练者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值