Shell——变量和引用

这篇具有很好参考价值的文章主要介绍了Shell——变量和引用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.总结变量的类型及含义?

2.实现课堂案例计算长方形面积?(6种方式)

3.定义变量url=https://blog.csdn.net/weixin_45029822/article/details/103568815

(通过多种方法实现)

        1)截取网站访问的协议

        2)截取网站访问账号信息


1.总结变量的类型及含义?
   自定义变量:
(1)、定义变量:   
  变量名=变量值

(注:变量名必须以字母或下划线开头,区分大小写)

(2)、引用变量:
   $变量名或$(变量名)

(3) 、查看变量
    echo $变量名

 (4)、取消变量
     unset 变量名

  (5)、作用范围
     仅在当前shll中有效

环境变量
(1)、bash的初始化文件
       /etc/profile:存放一些全局变量

        ~/.bash_profile:每个用户都可以使用该文件输入专用于自己使用的shell信息

          ~/.bashrc:该文件包含专用于你的bash shell的bash信息

           /etc/bashrc:为每一个运行bash shell的用户执行此文件

(2)、bash内置环境变量
              PATH:命令的搜索路径,以冒号作为分隔符

               HOME:用户的家目录的路径,是cd命令的默认参数

               COLUMNS:命令行编辑模式下可使用命令的长度

               HISTFILE:命令历史的文件路径

                HISTFILESIZE:命令历史中包含的最大行数

                LOGNAME:当前用户的名字

                $HELL:当前使用的shell

                 PWD:当前的工作目录

(3)、范围
             在所有shell中生效,但是重启ssh连接将会重置(即重新按照定义的变量文件加载

位置变量
     在shell脚本中应有变量,接受实参,这类变量的名称很特别,分别为1,2,3...这类变量称为位置变量,位置参数1存放在位置变量1中,位置参数2存放在位置变量2中,...来访问 

预定义变量

$0      脚本名      echo "显示脚本文件名" $0      ||    echo "显示脚本文件名"  basename $0dirname
 
$*    所有的参数
 
$@    所有的参数
 
$#    参数的个数
 
$$    当前进程的PID
 
$!    上一个后台进程的PID
 
$?    上一个命令的返回值 0表示成功

只读变量

将变量配置成为 readonly 类型,该变量不可被更改内容,也不能 unset   -

(1)、定义方法:
方法一:  readonly [-fap] [变量定义]  -f 定义只读函数 -a 定义只读数组变量 -p 显示系统中全部的变量列表

方法二:  declare – r 变量定义

(2)、取消变量:
  unset

选项:

-f 取消的是函数

-v 取消的是变量

如果没有指选项,首先尝试取消变量,如果失败尝试取消函数。

 2.实现课堂案例计算长方形面积?(6种方式展示2种)

(1)使用变量

[root@localhost ~]# vim 2.sh
 
#!/bin/bash
##############################################################
# File Name: 2.sh
# Version: V1.0
# Author: xx
# Email: xx@163.com
# Organization: http://www.xx.com/xx/
# Created Time : 2023-05-21 10:38:18
# Description:
##############################################################
 
l=10
w=5
area=$(($l * $w))
echo "长为$l,宽为$w的长方形面积为$area"
 
[root@localhost ~]# bash 2.sh
长为10,宽为5的长方形面积为50

(2)用bc命令

 [root@localhost ~]# vim 4.sh
 
#!/bin/bash
##############################################################
# File Name: 4.sh
# Version: V1.0
# Author: xx
# Email: xx@163.com
# Organization: http://www.xx.com/xx/
# Created Time : 2023-05-21 10:42:53
# Description:
##############################################################
echo "scale=2;10 * 5 " | bc
 
[root@localhost ~]# bash 4.sh
50
[root@localhost ~]#

3.定义变量url=https://blog.csdn.net/weixin_45029822/article/details/103568815

 1)截取网站访问的协议

 [root@localhost ~]# vim url.sh
 
#!/bin/bash
##############################################################
# File Name: url.sh
# Version: V1.0
# Author: xx
# Email: xx@163.com
# Organization: http://www.xx.com/xx/
# Created Time : 2023-05-21 10:53:09
# Description:
##############################################################
url=https://blog.csdn.net/weixin_45029822/article/details/103568815
protocol=$(echo $url | cut -d ":" -f1)
echo $protocol
 
[root@localhost ~]# bash url.sh
https

 文章来源地址https://www.toymoban.com/news/detail-455117.html

到了这里,关于Shell——变量和引用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【看表情包学Linux】插叙:实现简易的 Shell | 通过内建命令实现路径切换 | 再次理解环境变量

       🤣  爆笑 教程  👉 《看表情包学Linux》👈   猛戳订阅     🔥 💭 写在前面: 本章是个 \\\"插叙\\\",前几章我们学了程序替换,现在我们可以尝试动手做一个 \\\"会创建,会终止,会等待,会程序替换\\\" 的简易 shell 了。通过本章的内容,可以进一步巩固进程替换,学习内建

    2024年02月22日
    浏览(59)
  • Cisco路由基础:双线策略路由的三种实现方式总结+端口映射

    参考了下网上关于电信+网通双线策略路由的帖子,并结合实际环境,将实现双线策略路由的几种方式总结如下,希望对有需要的朋友有所帮助,双线比单线要复杂多了,但把策略路由的原理弄明白了,就会发现其实并不难。 服务器(网关): eth0 为LAN口,IP为 LAN_IP = 192.1

    2024年02月07日
    浏览(41)
  • 第二章 变量和引用

    目录 2.1. 深入认识变量 2.1.1. 什么是变量 2.1.2. 变量的名称 2.1.3. 变量的类型 2.1.4. 变量的定义 2.1.5. 自定义变量 2.1.6. 环境变量 2.1.7. 位置变量 2.2. 变量赋值和作用域 2.2.1. 显示赋值:变量名=变量值 2.2.2. read 从键盘读入变量值 2.2.3. 变量和引号 2.2.4. 变量的作用域 变量是在程序

    2024年02月20日
    浏览(54)
  • 7. Java 引用变量的比较

    在Java中,当你使用双引号直接创建字符串时,如:String s = “LXHYouth”;String s2 = “LXHYouth”;使用 == 运算符比较这两个引用时,结果为 true 然而,当你使用 new 创建字符串对象时,情况就有所不同了: String s3 = new String(“LXHYouth”); // 使用 new ,s3 指向堆中的一个新

    2024年04月10日
    浏览(40)
  • Java 四种引用类型(强引用、软引用、弱引用、虚引用)

    在 Java 中,基本类型和引用类型是两种不同的数据类型 基本类型直接表示数值、字符或布尔值,直接将值存储在内存,包括 byte、short、int 、long、float 、double、char、boolean 引用类似 C 语言中的指针,在内存中存储的是对象的引用而不是对象本身,通过这个引用可以操作对象

    2024年02月05日
    浏览(55)
  • C++的引用变量作为函数参数

    在C++的中新增一个特性:按引用传递变量,虽然与按传递变量的地址可以实现相同的结果,但引用有其独特的地方。 引用传递: 引用经常被用作函数参数,使得函数中的变量名成为调用程序中的变量的别名。 通过引用变量用作参数,函数将使用原始数据,而不是其副本。 举

    2023年04月14日
    浏览(37)
  • C++中的引用及指针变量

    目录 1.1 C++中的引用 1.2 C++中的指针变量(pointer) 1.1 C++中的引用 C++中的引用(reference)是一种特殊的变量,它是某个已存在变量的另一个名字。引用变量与指针变量类似,但引用变量必须在声明时进行初始化,并且一旦引用变量与某个变量关联起来,就无法再与其他变量关

    2024年01月20日
    浏览(41)
  • ITMS介绍 TR069事件类型(EVENT CODE对应的含义)

    ITMS(Integrated Terminal Management System),终端综合管理系统。 主要用于家庭网关的设备注册,初始化自动配置,软件版本升级,远程故障诊断修复和设备监控等。它通过北向连接服开系统用于接收业务工单,南向通过TR069管理通道连接终端,通过安装客户端与ITMS连接用于查看工

    2024年02月10日
    浏览(39)
  • Labview局部变量、全局变量、引用、属性节点、调用节点用法理解及精讲

    写本章前想起题主初学Labview时面对一个位移台程序,傻傻搞不清局部变量和属性节点值有什么区别,概念很模糊。所以更新这篇文章让大家更具象和深刻的去理解这几个概念,看完记得点赞加关注喔~ 本文程序源代码附在后面,大家可以自行下载学习。 本文的结构还是首先教

    2024年01月20日
    浏览(40)
  • c#值类型和引用类型

    1:值类型继承自system.valueType,引用类型继承自system.objectType. 值类型: 存储在栈内存中。 包括整数、浮点数、字符、布尔值和结构体等。 复制时会创建一个完全独立的副本。 引用类型: 存储在堆内存中,而变量本身存储在栈内存中,指向堆内存中的对象。 包括类、接口、

    2024年01月20日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包