Linux学习——shell编程之变量

shell编程之变量:Linux shell编程基础中的变量。 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量、环境变量、语系变量、位置参数变量和预定义变量。

大家好,又见面了,我是全栈君。

shell编程之变量:Linux shell编程基础中的变量。

    包括Bash变量的分类和各变量的详细使用,如:用户自定义变量、环境变量、语系变量、位置参数变量和预定义变量。

1:什么是Bash变量?

 变量:计算机内存单元,其中存放的值可以更改! #Bash变量就Bash中的变量

2:变量有哪些分类,Bash变量有哪些?

    常见的变量数据类型分类:
        - 字符串型         - 整型         - 浮点型         - 日期型
变量的分类(Linux中变量都是字符串型):
        - 用户自定义,变量自定的。         - 环境变量,保存的是和系统操作环境的数据,有些固定有些可以自定义。         - 位置参数,预定义变量 ,变量是固定的。

3:变量命名规则

- 变量命名规格(见名知意):         -- 字母,数字,下划线,不能用数字开头         -- 变量名的长度不能超过255         -- 变量名在有效范围内必须是唯一的         -- 在Bash中,变量的默认类型都是字符串型

4:用户自定义变量

  • 变量定义 : 变量名=变量值
    两侧不能有空格

  • 变量调用 : echo $变量名
    echo 只是其中一种调用方式

  • 变量叠加

-- echo "$x"456
-- echo ${x}456
  • 变量查看 : set
set -u 如果设定此选项,调用未申明变量时会报错(默认无任何提示)
  • 变量删除 : unset 变量名

5: bash环境变量

  • 环境变量与用户自定义变量的区别?
    --环境变量全局的     --自定义变量局部的
  • 设置环境变量
     -- exprot 变量名=变量值      或
     -- 变量名=变量值      -- export 变量名
  • 从子shell 退出父shell : exit

  • 查看环境变量
    – set
    – env

  • 删除环境变量 unset

  • PATH 变量:系统查找命令路径
    – echo $PATH

  • PATH=”$APTH”:/root/sh
    – 增加PATH变量的值

6: bash语系变量
语系变量:

 locale # 查询当前系统语系

7: 位置参数变量 预定义变量


shell对一些参数做特殊处理,这些参数只能被引用而不能被赋值.

特定shell变量如下:
$# 传递到脚本的参数个数;
$* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个;
$$ 脚本运行的当前进程ID号;
$! 后台运行的最后一个进程的进程ID号;
$@$*相同,但是使用时加引号,并在引号中返回每个参数;
$- 显示shell使用的当前选项,与set命令功能相同;
$? 显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误;

参考博文:Shell 变量详解教程之位置变量与预定义变量


欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页http://blog.csdn.net/u010648555

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121153.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月26日 下午1:00
下一篇 2022年2月26日 下午2:00


相关推荐

  • mysql 字符串转数字并排序

    mysql 字符串转数字并排序使用二级查询首先将字符串的列转成数字,然后排序select*from (selectCONVERT(k.key,SIGNED)askid,pathfromkpvk)tORDERBYt.kidasc;

    2022年5月30日
    48
  • 智谱发布新版基座开源大模型GLM-5 主打智能体编程|AI狂飙

    智谱发布新版基座开源大模型GLM-5 主打智能体编程|AI狂飙

    2026年3月12日
    2
  • office文件 vue 预览_vue实现pdf文档在线预览功能

    office文件 vue 预览_vue实现pdf文档在线预览功能针对android系统不支持pdf文档在线预览,可通过引入pdf.js插件实现,其具体实现步骤如下一、引入插件方式一:npminstall–savepdfjs-dist,安装完成后在vue项目的node_modules出现如下依赖方式二:只引入pdf.js的核心文件pdf.js和pdf.work.js,其他无关的文件全部删除,如图方式三:将插件直接放在static文件夹下,如图二、前端页面…

    2022年5月18日
    39
  • 万能乘法速算法大全_小学数学指算法、加法、减法、乘法、除法简便运算方法大全,收藏…[通俗易懂]

    万能乘法速算法大全_小学数学指算法、加法、减法、乘法、除法简便运算方法大全,收藏…[通俗易懂]在小学数学的学习过程中,计算能力不过关的孩子,数学成绩普遍来说都不算特别理想。很多家长都在反映说,孩子数学成绩非常糟糕,其实很大的一个原因就是因为计算能力不过关。计算能力不仅对于孩子数学成绩的影响非常的大,对于其他各科的影响也是非常的大,可以毫不夸张的说,计算能力不过关的孩子,学习成绩都不是十分理想。根据我在一线教育从事了十几年的经验来说,很多其实都有他们的共同点,我发现孩子在学习数学的过程中遇到…

    2022年6月6日
    147
  • C++压缩解压之snappy

    C++压缩解压之snappy引文出处 http wiki dreamrunner org public html C C Library Notes Snappy htmlSnappyTa nbsp http google github io snappy git nbsp https github com

    2026年3月17日
    2
  • c语言xml解析器libxm2

    c语言xml解析器libxm2写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML库,而且它同时支持多种编程语言;2)LIBXML2库的Tutorial写得不太好,尤其是编码转换的部分,不适用于中文编码的转换;3)网上的大多数关于Libxml2的介绍仅仅是翻译了自带的资料,没有详细介绍如何在windows平台下进行编程,更很少提到如

    2022年7月12日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号