git用户自定义变量查看修改及调用教程详解

目录
  • 1、变量定义
  • 2、变量调用
  • 3、变量的修改
  • 4、查看变量
    • (1)-u选项说明:
    • (2)-x选项说明:
    • (3)set命令说明:
    • 小结:
  • 5、变量删除

1、变量定义

变量正确定义。

格式:变量名="变量值"

# 两种方式都可以
[root@localhost ~]# name=zhenniubi
[root@localhost ~]# name="zhen niubi"

变量名不能用数字开头。

[root@localhost ~]# 2name="zhen niubi"
-bash:2name=zhen niubi:command not found

等号左右两侧不能有空格。

[root@localhost ~]# name = "zhenniubi"
-bash:name:command not found

变量的值如果有空格,必须用引号包含。

[root@localhost ~]# name=zhen niubi
-bash:niubi:command not found

2、变量调用

调用变量用$符号。

#定义变量name
[root@localhost ~ ] # name="zhen niubi"
#输出变量name的值
[root@localhost ~ ] # echo $name
zhen niubi

3、变量的修改

Shell中变量值的修改,是以覆盖的形式完成的,以后最后一次对该变量的赋值为准。

#之前定义好的变量
[root@localhost ~]# name=ailin
[root@localhost ~]#
[root@localhost ~]# echo $name
ailin
#修改后的变量值
[root@localhost ~]# name=cangls
[root@localhost ~]#
[root@localhost ~]# echo $name
cangls

4、查看变量

命令格式:

[root@localhost ~]# set [选项]

选项:

-u:如果设定此选项,调用未声明变量时会报错(默认无任何提示)(很常用)。

-x:如果设定此选项,在命令执行之前,会把命令先输出一次。(不建议使用)

(1)-u选项说明:

在当前系统下从没有定义过age字段(变量),直接输出age变量的值,如下图可以看到没有任何值。

如果我给age字段定义一个空值,在查看age字段,如下图,可以看到依旧没有任何输出。

那么综上所述,查看一个变量时没有任何输出,是有两种可能的。一种是age变量不存在,一种是age变量的值为空。在Java中,变量没有被定义和变量值为空完全是两个不同的概念,在Shell中也一样,我们一定要对此进行区分。

如果我执行了set -u命令,就可以对上面两种情况进行区分。

#直接执行`set -u`命令
[root@localhost ~ ] # set -u
#输出一个未定义变量,显示addr变量不存在。
[root@localhost ~]# echo $addr
-bash: addr: unbound variable
#给addr变量定义一个空值,
#在查看变量,可以看到变量的值为空。
[root@localhost ~]# addr=""
[root@localhost ~]# echo $addr
[root@localhost ~]#

注意:在命令行中执行set -u命令,这种方式是临时生效的,需要永久生效,就需要写入环境变量配置文件中。(如何配置,看以后的环境变量配置内容)

总结:当设置了-u选项后,如果调用没有设定的变量会有报错。默认是没有在何输出的。

(2)-x选项说明:

就字面意思,如果设定了-x选项,会在每个命令执行之前,先把命令输出一次

[root@localhost ~ ] # set -x
[root@localhost ~ ] # ls
+ ls --color=auto
anaconda-ks.cfg install.log install.log.syslog sh tdir test testfile

如果不新登陆系统,会一直这样,因为上面说了,在命令行中直接执行是临时生效的。并不推荐执行此选项,命令结果看起来很乱。

(3)set命令说明:

直接使用set命令,不加任何选项,会查询系统中所有的变量,包含用户自定义变量和环境变量。(其实是一部分)

系统的另一部分变量,用env命令来查看。两个命令看到的变量会有重叠,但是env命令查看不到自定义变量的。(查了一下,网上介绍的也很模糊,就是两个命令就能够查到系统中全部的变量,set多用于查看系统的用户自定义变量,env多用于查询系统的环境变量。)

小结:

set:用来显示当前Shell的变量,包括当前用户的变量。
每个Shell有自己特有的变量,这个和用户变量是不同的,当前用户变量和你用什么Shell无关,不管你用什么Shell,每个Shell都有自定义的Shell,也就是自己Shell的变量。这种变量不同Shell是不同的,这些变量只有set才会显示,是bash特有的。这种变量也只对本Shell有效, 不能传递给子Shell。(就相当于Java中的局部变量)。

env:用来显示环境变量,也叫显示当前用户的变量,环境变量可传递给子Shell。(就相当于Java中的全局变量)

5、变量删除

[root@localhost ~]# unset 变量名

不需要在变量名前加$符号,只有在调用变量值的时候需要在变量名前加$符号。

以上就是git用户自定义变量查看修改及调用教程详解的详细内容,更多关于git用户自定义变量查看修改调用的资料请关注我们其它相关文章!

(0)

相关推荐

  • 从git仓库中删除.idea文件夹的小妙招

    如果不配置.gitignore的文件,带push代码的时候就会把一写不必要的文件push到远程仓库,如.idea文件.如果不小心出现此文件在远程仓库可以通过一下步骤delete此文件: 1.配置.gitignore文件(新建/编辑) echo '.idea' >> .gitignore 2.将.gitignore文件上传到远程仓库 git pull git add .gitignore git commit -m 'edit .gitignore' git push origin master

  • Git的配置及文件传输方法图文详解

    首先要下载安装git相关软件,在将git配置到idea中. 1.下载相关插件 2.配置git安装包中的gie.exe路径 3.配置git安装包中的bash.exe路径 4.登录git账户 5.添加git本地仓库 6.配置Git本地仓库路径 7.Java代码上传 先选中要上传的项目如下图操作 8.克隆Java程序 到此这篇关于Git的配置及文件传输方法图文详解的文章就介绍到这了,更多相关git文件传输内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • git丢弃本地修改的所有文件(新增、删除、修改)

    一,未使用 git add 缓存代码时. 可以使用 git checkout -- filepathname (比如: git checkout -- readme.md  ,不要忘记中间的 "--" ,不写就成了检出分支了!!).放弃所有的文件修改可以使用 git checkout .  命令. 此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除.但是此命令不会删除掉刚新建的文件.因为刚新建的文件还没已有加入到 git 的管理系统中.所

  • git版本库创建拓展添加文件到版本库教程

    目录 1.创建一个版本库 2.把文件添加到版本库 (1)首先这里再明确一下 (2)使用Windows的童鞋要特别注意: (3)把文件添加到版本库 3.总结 今天看关于Git的博客,发现总结关于Git仓库的文档,写的思路很清晰.可以和前一篇文章,对照的看,可以更加清晰理解. git-reference在线文档: http://shouce.jb51.net/gitbook/Getting-Started/index.html 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这

  • Git的基础文件操作初始化查看添加提交示例教程

    目录 1.Git最基础的使用方式 (1)初始化本地版本库 (2)查看文件的状态 (3)把文件添加到暂存区 (4)把暂存区的内容提交到本地版本库 2.总结本文用到的Git命令 1.Git最基础的使用方式 (1)初始化本地版本库 要对现有的某个项目开始使用Git管理,只需到此项目所在的根目录,执行git init命令即可. 准备一个新的Git本地版本库: L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit $ git init Initializ

  • Git用户签名的修改取消及优先级拓展教程

    目录 1.修改用户签名 2.取消用户签名 3.用户签名的优先级 4.总结本文用到的Git命令 1.修改用户签名 其实很简单,就是重新执行git config命令,换个用户名和邮箱地址就可以了,新配置的内容会覆盖之前配置的内容,达到了用户签名的修改. 以系统用户为例: # 查看系统级别的用户配置 L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master) $ git config --list --system diff.astext

  • git用户自定义变量查看修改及调用教程详解

    目录 1.变量定义 2.变量调用 3.变量的修改 4.查看变量 (1)-u选项说明: (2)-x选项说明: (3)set命令说明: 小结: 5.变量删除 1.变量定义 变量正确定义. 格式:变量名="变量值" # 两种方式都可以 [root@localhost ~]# name=zhenniubi [root@localhost ~]# name="zhen niubi" 变量名不能用数字开头. [root@localhost ~]# 2name="zhe

  • Git Bash终端默认路径的设置查看修改及拓展图文详解

    目录 1.Git Bash默认路径 2.如何查看Git Bash终端默认路径 3.如何修改Git Bash终端的默认路径 4.拓展:指定目录进入Git Bash终端 5.注意事项 1.Git Bash默认路径 在windows系统上操作Git的客户端是Git Bash. 安装完Git Bash之后,双击打开,如下图: 使用pwd命令查看当前路径: 每次打开Git Bash都进入默认的目录中. win7系统就是Git安装目录的根目录. win10系统在系统盘的用户目录中,例如:C:\Users\L

  • Android Studio 新建项目通过git上传到码云图文教程详解

    作为一个合格的开发人员,对项目进行管理自然必不可少.今天就给各位看客介绍一下如何用git将自己的AS项目上传到码云.    一  创建远程码云代码仓库 首先我们打开码云,注册一个账号,接着在左上角处点击加号新建一个远程的项目仓库用于待会AS项目的上传,具体如下: 按照上图所示,点击创建即生成远程代码仓库.     二 开始进行AS代码的上传 首先我们打开新建好的AS项目,点击AS顶部的如下: 接着点击项目名称如下将项目加入到本地的git仓库中 之后红色的字体会变成绿色. 接着点击顶部vcs上传代

  • GIT相关-IDEA/ECLIPSE工具配置的教程详解

    GIT安装 访问: https://git-scm.com/downloads ,进入git'下载页面,根据个人操作系统下载对应软件版本,默认下载最新版: 双击安装即可.选择安装目录和安装内容,如果只是单纯的使用,默认即可. 安装TortoiseGit 安装前,确认Git已安装好,否则TortoiseGit是装不上的. 访问 : https://tortoisegit.org/download/,选择对应的操作系统位数软件下载, 双击软件,点击next,默认安装即可 生成秘钥 开始菜单找到git

  • C语言函数基础教程分类自定义参数及调用示例详解

    目录 1.  函数是什么? 2.  C语言中函数的分类 2.1 库函数 2.1.1 为什么要有库函数 2.1.2 什么是库函数 2.1.3 主函数只能是main()吗 2.1.4常见的库函数 2.2 自定义函数 2.2.1自定义函数是什么 2.2.2为什么要有自定义函数 2.2.3函数的组成 2.2.4 举例展示 3. 函数的参数 3.1 实际参数(实参) 3.2  形式参数(形参) 4. 函数的调用 4.1 传值调用 4.2  传址调用 4.3 练习 4.3.1. 写一个函数判断一年是不是闰年

  • Android studio git创建与删除标签(Tag)的教程详解

    git上的标签一般是用于标记版本,当发布新版本后,便将该版本的代码打上Tag,用以区别及管理 使用标签前需要先将代码提交到远程仓库上 创建并提交Tag 远程端提交后: 使用Git 命令删除Tag Android Studio上没发现界面化的删除Tag操作 定位到项目根路径(该项目.git 文件夹所在处) 右键打开Git Bash 输入 git tag 查看本地tag 输入 git tag -d v1.0.3 删除本地名为"v1.0.3"的Tag 输入 git push origin –

  • java(jdk)环境变量配置(XP、win7、win8)图文教程详解

    对于初学java的同学来说,第一件事不是写hello world,而是搭建好java开发环境,下载jdk,安装,配置环境变量.这些操作在xp.win7.win8不同的操作系统里面配置不太一样,所以我来写一下在上面不同操作系统下是如何配置的. windos系统jdk6~8版本(含32位和64位)下载地址:http://pan.baidu.com/s/1jIslu78 XP 1. 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为:C:\Program Files\Java\jd

  • Java查看和修改线程优先级操作详解

    目录 查看和修改线程优先级 1.题目 2.解题思路 3.代码详解 查看和修改线程优先级 1.题目 JAVA中每个线程都有优化级属性,默认情况下,新建的线程和创建该线程的线程优先级是一样的.当线程调度器选择要运行的线程时,会选择优先级高的线程. 实现:查看和修改线程的优先级 2.解题思路 创建一个类:ThreadPriorityTest,继承了JFrame.用来界面显示当前线程组中运行的线程. 定义2个方法: do_this_windowActivated():用来监听窗体激活事件 do_butt

  • Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)

    什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 接下来给大家介绍vuejs单向绑定.双向绑定.列表渲染.响应函数基础知识,具体详情如下所示: (一)单向绑定 <div id="app"> {{ message }} </div> <sc

  • ThinkPHP实现微信支付(jsapi支付)流程教程详解

    之前写过一篇文章讲了PHP实现微信支付(jsapi支付)流程 ,详见文章:PHP实现微信支付(jsapi支付)流程. 当时的环境是没有使用框架的,直接在一个域名指向的目录下边新建目录之后访问该目录实现的,但应用到框架中,还是有一些问题,在ThinkPHP中,由于路由规则与支付授权目录有出入,所以会报错.本篇讲讲在TP中集成微信支付的流程. 鹅厂出的SDK和文档,就是让你看不懂,使劲绕,这酸爽用了就知道.文档和SDK不是应该越简单通俗易懂越好么?难道只有使劲重构才能显示出鹅厂程序猿技术的高超咩?额

随机推荐