Shell编程入门,变量及特殊符号使用

前言概述

shell编程在工作中以及面试的过程中,难免都会碰到。那么掌握它、运用它、理解它,则是一种必要的选择。正所谓:在编程的道路上,学无止境!对于shell编程,我同样也是一位学生,希望记录自己的学习过程,为自己查漏补缺,也希望可以帮到正在学习中的你。

  • 什么是shell?
    我想作为一名后端开发者来说,在接触了虚拟机,Linux系统之后,都不会感到陌生吧。shell是建立在Linux内核与应用程序之间的命令解释器。用户可以通过在应用程序软件使用shell编程来调用Linux内核的指令完成一定的逻辑操作。简单来说shell本身就是一种命令解释器。示意图如下:
    在这里插入图片描述
  • shell编程须知
    开始shell编程的学习之前,希望大家对Linux命令有一定的了解,并会使用Linux命令,尤其是Linux下的编辑能力,即对vim命令的使用。进行shell编程时,因为shell编程本身也就是一种脚本编程,所编写的脚本文件保持以 .sh 作为后缀名,并且shell脚本文件的开头文件必须以 #!/bin/bash 或者 #!/bin/sh 开头,并作为第一行内容。
    其实 bin 后面的 bash 或者 sh 代表了采用哪种类型的shell解释器来解释并执行shell脚本。这里的sh其实是bash的软连接

shell编程实例

首先呢,我们来看一段简单的shell脚本实例,通过编写 hello.sh 输出 hello shell。hello.sh 的内容如下:

#!/bin/bash

echo "hello shell"

执行结果

[admin@hzuwei.com ~]$ bash hello.sh
hello shell
[admin@hzuwei.com ~]$ 
  • 在shell编程中使用变量
    (1) 设置变量直接A=2就好,*=号左边为变量名,右边为变量的具体值,并且等号的左右两边不能出现空格
    (2)获取变量值,使用$A即可。
    (3)撤销变量值,使用unset命令即可,例如:unset A
    (4)常见的系统变量有:
    	$PATH:指定命令的搜索路径
    	$HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
    	$HISTSIZE:指保存历史命令记录的条数。
    	$LOGNAME:指当前用户的登录名。
    	$HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
    	$SHELL:指当前用户用的是哪种Shell。
    	$LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
    	$MAIL:指当前用户的邮件存放目录。
    	$PS1:命令基本提示符,对于root用户是#,对于普通用户是$。
    	$PS2:附属提示符,默认是“>”。
    	$JAVA_HOME:安装了JDK之后,所设置的JDK全局环境变量
    	$TOMCAT_HOME:安装了Tomcat之后,所设置的Tomcat全局环境变量
    	$MAVEN_HOME:安装了maven之后,所设置的maven全局环境变量
    
    • shell编程中的几个常用符号
      符号描述信息
      $n获取传递给脚本或者函数的参数。($0表示shell文件名,$1…$9依次表示第1个,第2个…第9个参数。当参数超过10个时,采用 ${10},${11}的方式获取,一般建议不要超过10个参数。)。
      $#获取传递给脚本或者函数参数的个数,一般用于for循环使用
      $*获取传递给脚本或者函数参数的所有参数,将所有参数看做一个整体
      $@获取传递给脚本或者函数参数的所有参数,每个参数为一个分区
      $?上一条命令的执行状态或者函数的返回结果

小结

在进行shell编程的学习中,还是要终于实践。命令虽多,用过总比见过好。好记性不如烂头,话糙理不糙呀。多用多练。下篇我们再会咯~~~
感觉有所帮助,写的不错,麻烦动动小手点个赞呦~~~欢迎指整不足之处,小编在这谢过!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值