• shell脚本学习1-shell介绍及变量


    shell是什么
    根绝维基百科的定义。shell,一种壳层与命令行界面,是UNIX操作系统下传统的用户和计算机的交互界面,用户直接输入命令来执行各种各样的任务。Shell脚本(英语:Shell script),又称Shell命令稿、程序化脚本,是一种电脑程序使用的文本文件,内容由一连串的shell命令组成,经由Unix Shell直译其内容后运作。被当成是一种脚本语言来设计,其运作方式与解释型语言相当,由Unix shell扮演命令行解释器的角色,在读取shell脚本之后,依序运行其中的shell命令,之后输出结果。利用shell脚本可以进行系统管理,文件操作等。
    学习shell有什么用
    学习shell是为了自动化,而自动化则是为了提高工作效率,提高产出,更进一步则是提高公司的收入 。
    了解了上面两点就让我们开始进入到shell的学习环阶:

    1. 第一个shell脚本
      就像学习其他语言语言一样我们也先从helloworld开始编写我们的第一个shell脚本:
      shell echo 'hello world!'
      将上述文件写入到文件,并命名为helloworld.sh,shell脚本都是以sh后缀为结尾的。利用chmod +x helloworld.sh 命令为其添加执行权限,在输入./helloworld.sh执行。我们的终端就会打印hello world! 。第一个shell脚本就执行成功了。
    1. shell变量
      shell脚本中的变量分为系统变量自定义变量 。系统变量包含$HOME,$PWD,$USER等,通过set命令可以查看当前系统中的所有变量, env命令可以显示所有环境变量。变量名有字母,数字,下划线三者组成但不能以数字开头,变量名一般用大写字母定义。
    • 定义变量语句: 变量名=变量值,要注意的是等号左右两边不能有空格否则会失效。
    • 删除变量:unset 变量名
    • 声明静态变量:readonly 变量名 ,注意静态变量不能用unset删除
    • 使用变量: $变量名
    • 将命令返回值赋值给给一个变量A=`HOME` 注意 A=$(HOME) 这种写法也可以但不是所有shell都支持.
    • 声明环境变量(临时) export 变量名=变量值 通过这种方式设置的环境变量直在本次登陆中有效。
    • 声明环境变量(永久)修改/etc/profile文件,在文件中加入export 变量名=变量值,保存后执行source /etc/profile 命令让环境变量生效。该方法对所有用户生效,如果想要只对单个用户生效需要修改~/.bash_profile文件并执行source ~/.bash_profile
    1. 位置参数变量
      位置参数变量指的是调用shell命令时,跟在命令后面以空格隔开的参数,举了例子cp /etc/profile /tmp/ 命令中cp是shell指令, /etc/profile/tmp/则是命令的参数。在shell脚本中我们可以获取到这些参数。
    • $n$0代表命令本身,$1-$9代表第一个到第九个参数,第十个及以上参数利用${n}来获取
    • $#: 该命令用于获取所有参数的个数,包含命令本身。
    • $*$@都可以用来获取所有参数,但前者将所有参数看作一个整体,后者将参数区分对待。
    1. 预定义变量
      预定义变量是由系统保留和维护的一组特殊的变量,这些变量通常用于保存程序运行状态等
    • $$ 返回当前进程的 PID 进程号
    • $! 返回后台运行的最后一个进程的 PID 进程号。
    • $? 返回最后一次执行的命令的返回状态,0为执行正确,非0执行失败。

    以上就是关于shell中变量部分的全部内容,下一篇我们将会学习shell中的几种运算符。

  • 相关阅读:
    Opencv保存摄像头视频&&各种编码器下视频文件占用空间对比
    生活的 tricks
    生活的 tricks
    词汇的积累 —— 反义词、同义词
    词汇的积累 —— 反义词、同义词
    目标跟踪系列十一:Exploiting the Circulant Structure of Tracking-by-detection with Kernels代码思路
    Java中Integer类的方法
    php中 重载(二)
    协方差的意义
    malloc函数具体解释
  • 原文地址:https://www.cnblogs.com/Rostov/p/13479395.html
Copyright © 2020-2023  润新知