Shell应该这么学,Shell脚本

记录如何编写基本的Shell脚本,脚本变量的使用

一个简单Shell程序的解释

  接下来先写一个基本的Shell脚本,然后对脚本里的内容作出相应的解释,我首先在我的虚拟机里创建一个为/usr/local/myTest的目录,然后在里面写相关的shell脚本。
1589613891926599.jpg1589613833150691.jpg
  脚本程序如下:

#!/bin/bash
# 这是我第一个Shell程序
echo "Hello World"
echo "程序所在的目录为:"
pwd

  接下来我对脚本内容作出相关的解释,首先是脚本里的#!这个表示执行shell程序的shell所在,也就是执行这个脚本的解释器,后面所接的路径即是解释器所在的路径,当然有时候我们会看到第一行是这样写的#!/bin/sh,这样的效果和#!/bin/bash的效果是一样的只是sh是bash的软链接而已。在shell脚本里的注释和Python里的注释一样可以用#来注释程序。echo是输出命令,将我后面双引号里的内容输出了,并且换行。pwd是输出当前目录所在绝对路径。

Shell程序里的变量

  在Shell脚本里也是有变量的,在命令行里我们可以通过set命令来查看系统的变量,当然也可以通过unset命令来删除变量。例子如下:
1589615212311723.jpg
1589615271695647.jpg
1589614985750197.jpg
1589615395115761.jpg
  Shell脚本里的变量在初始化的时候不需要$符号,但是在使用或者输出的时候就必须得加上$符号,而且变量赋值的时候,等号两边不允许有空格。
1589615467272744.jpg

Shell程序里的特殊变量

  接下来通过一段简单的Shell脚本来介绍下Shell脚本里的一些特殊的变量,主要介绍$*$#$$$!&?这几个特殊变量的含义。脚本代码如下:

#!/bin/bash
echo "$* 表示这个程序的所有参数"
echo "$# 表示这个程序的参数的个数"

touch /usr/local/myTest/a.txt
echo "$$ 表示进程的ID"

touch /usr/local/myTest/b.txt &
echo "$! 执行上一个后台指令的PID"
echo "$$ 表示进程的ID"

1589616930371207.jpg
  接下来我们解释下,$*表示这个程序的所有参数,在这里参数指的是除文件名之外的参数,由于我们这里没有除了文件名之外的参数,所以我们的第一项输出为空,同时$#表示的参数个数为0。之后我们通过touch命令创建了一个文本文件,同时输出进程ID,这个进程ID指的是当前进程的ID,之后我们又通过touch命令来创建一个文本文件,之后我们输出的是上一个后台指令的PID也就是创建b.txt文本文件的进程PID。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值