Bash中的变量】的更多相关文章

bash 中的变量 Linux command line 笔记 变量无需声明,自动创建 var=abc #变量a赋值为字符串abc var="hello world" #字符串里有空格赋值要加引号 var="hello world $var" #任何可以扩展成字符串的都可以赋给变量 var=$(ls -l *.md) # 输出结果为字符串的命令 var=$(5*5) #运算符 var="hello\nworld" #转义字符串序列,例子中的\n…
Bash中的变量1.用户定义的变量变量的定义  用户定义的变量有字母数字及下划线组成,并且变量名的第一个字符不能为数字.            与其它UNIX名字一样,变量名是大小写敏感的. 对于变量,用户可按如下方式赋值:               name = value 变量的引用              在引用变量时,需在前面加$符号,用户也可以在变量间进行相互赋值(一个变量的值赋给另一个变量),如:               (前面的$是命令提示符)              …
SHLVL 环境变量代表 Shell 嵌套执行的深度. $ echo $SHLVL 1 $ bash $ echo $SHLVL 2 $ bash $ echo $SHLVL 3 在 Bash 里,这个值的范围是 [0, 1000],0 是怎么来的呢?是在上次的 SHLVL 值为负数的时候: $ SHLVL=-1 $ bash $ echo $SHLVL 0 当 SHLVL 的值超过 1000 时,会自动重置到 1. $ SHLVL=1000 $ bash bash: warning: shel…
(大讲台:国内首个it在线教育混合式自适应学习) 统中进行日常运维或者是编写脚本时,变量是再熟悉不过的了,但这些变量都有哪些类型,具体的用法又有哪些差异呢?本文整理分享给大家: 一.bash变量类型: 本地变量 局部变量 环境变量 位置变量 特殊变量(内置) 二.本地变量: varname=value:作用域为整个bash进程可以使用: 变量命名规范: 1. 只能含字母.数字和下划线,并且以字母和下划线开头 2. 最好不要跟系统已有的环境变量重名 3. 见名知意 三.局部变量: local va…
1.本地变量 VAR=XYZ 2.局部变量 local VAR=XYZ 3.环境变量 在子shell中可以起作用 export VAR=XYZ 4.位置变量 $0 脚本名本身 $1 第一个参数 $2 第二个参数 ... ${10} 第十个参数 ${11} 第十一个参数 shift 依次向后移动参数 比如:分别显示第一.二.三个参数 !#/bin/bash shift shift 5.特殊变量 $? 脚本执行状态(0--正确,1-255错误,1/2/127保留) $# 参数的总个数 $* 参数列表…
bash提供了declare命令来声明变量,该命令的基本语法如下: declare attribute variable      其中,attribute表示变量的属性,常用的属性有如下所述.            -p  显示所有变量的值.            -i   将变量定义为整数,在之后可以对表达式求值,结果只能是整数.如果求值失败或不为整数则置0.            -r   将变量声明为只读变量.            -a  将变量声明为 数组变量.          …
举个例子: t.sh ====================== #!/bin/bash ./a.sh ./b.sh ======================= a.sh ====================== #!/bin/bash VALUE=66666666666666 ====================== b.sh ====================== echo $VALUE ====================== 运行./t.sh 结果: 666666…
1.赋值指令 var='变量内容' var="变量内容" var=`command` var=$(command) var=变量内容 2.格式要求 =两边不能有空白字符 错误示例 var = 2222 3.变量命名规范 环境变量大写 JAVA_HOME.SPARK_HOME 自定义变量小写 var=100 4.''."".``.$() 的区别 var='变量内容' 说明 : 原样输出字符串,无法识别特殊符号 比如 $ 无法直接进行变量替换 '$var' 必须得使用…
1. 前言 Bash是一门流行在*nix系统下的脚本语言.作为一门脚本语言,变量是一门语言的基本要素,在这篇教程中,我们将学习Bash中的变量是怎么表示的,以及变量相关的一些语法规则. 2. Bash中的变量 Bash作为一门编程语言,它通过变量来表示数据.Bash的变量在概念是和我们平时接触的其他编程语言类似,都是以字符表示的一些列名字标签,通过引用这些名字标签来使用变量所表示的值.通过一个变量,我们可以引用一块内存区域的值.一个变量的赋值操作,抛开细节,我,我们可以简单的理解为是为这个名字标…
bash是linux操作系统的shell.以下是Multi-Perspective Sentence Similarity Modeling论文实现时碰到的一个bash: #!/bin/bash python2.7 scripts/download.py glove_dir="data/glove" glove_pre="glove.840B" glove_dim="300d" if [ ! -f $glove_dir/$glove_pre.$g…
1.常用系统变量 $HOME.$PWD.$SHELL.$USER等 2.自定义变量 基本语法: (1)定量变量:变量=值 (2)撤销变量:unset 变量 (3)声明静态变量:readonly变量 注意不能unset(机器重启就没有了) 变量定义规则 (1)变量名称可以由字母.数字.和下划线组成,但是不能以数字开头,建议大写 (2)等号两侧不能有空格 (3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算. (4)变量的值如果有空格,需要使用双引号或单引号括起来 案例实操 (1)定…
使用引号包裹变量 在<高级Bash脚本编程指南>中的4.1节中有这么个例子: hello="A B C D" echo $hello # A B C D echo "$hello" # A B C D 当时觉得不可思议,对于第二个echo应该是非常好理解的,而第一个echo为什么会把原来变量中的空格消除呢?其实第一个echo中的$hello变量,由于其含有空格又没有引号包裹,实际上为echo命令提供了不只一个参数,做个替换就是: echo A B C D…
    Bash中的变量没有数据类型的定义,这样,在处理字符串和数值时会带来麻烦.例如,使用-eq比较数值,==比较字符串等.另外,Bash中常用的let.expr仅支持整数运算,不支持浮点数计算.要实现浮点数计算,可以使用bc或awk.   bc 可以命令行方式,或者管道方式使用bc     awk    …
4.1 系统变量 1. 常用系统变量 $HOME.$PWD.$SHELL.$USER等 2.案例实操 (1)查看系统变量的值 [atguigu@hadoop101 datas]$ echo $HOME /home/atguigu (2)显示当前Shell中所有变量:set [atguigu@hadoop101 datas]$ set BASH=/bin/bash BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() 4.2 自定义变量 1.基本语法 (1)定义变量:…
在 Bash 里,可以通过 export 命令查看当前 Shell 进程的环境变量,这些环境变量一些是 Bash 自己创建的,还有一些是 Bash 从父进程继承来的,然而需要注意的是,父进程传给 Bash 的环境变量不一定是我们想象的那样. 在 C 语言层面,环境变量是存放在一个名为 environ 的全局变量里的,这个变量的值是一个字符串的数组,像这样: {"foo=1", "bar=2"} 在父子孙一辈辈进程中传递的就是这么个数组,我们嘴里说的环境变量的原貌其实…
首先,我们想到的会是 export(等价于 declare -x)命令: $ export | grep 'declare -x _=' 没有找到,那么结论就是 _ 不是环境变量?当然没那么简单,否则本篇文章就该结束了.别忘了还有 env(或者 printenv)命令: $ env | grep '_=' _=/usr/bin/env 这下怎么办,_ 到底是不是环境变量?谁说的对?然而下面还有更诡异的: $ bash -c "export | grep 'declare -x _='"…
脚本编程中的test.bash调试.变量计算.参数 1.文件测试 -e FILE:测试文件是否存在 -f FILE:测试文件是否为普通文件 -d FILE:测试路径是否为目录 -r FILE:测试当前用户对指定文件是否有读取权限 -w FILE:测试当前用户对指定文件是否有写权限 -x FILE:测试当前用户对指定文件是否有执行权限 eg1:[ -e /etc/inittab ] eg2: If [ ! -e /etc/inittab ]; then echo ”No /etc/inittab.…
一 /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.所以如果你有对/etc/profile有修改的话必须得重启你的修改才会生效,此修改对每个用户都生效.可以通过命令source /etc/profile立即生效. 二 /etc/bashrc或/etc/bash.bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.如果你…
参考 <Prompt Magic> ubuntu初始时bash提示符的颜色同程序输出的颜色相同,当大量有输出时,找到输出信息开始的地方往往很费劲.如果把提示符的颜色变成更为醒目的颜色,那么就很容易定位输出信息开始处.bash中想要改变提示符颜色可以通过PS1变量的值来设置,如果将其放入用户对应目录下的.bashrc文件中,则用户打开bash时自动更改颜色.这里,我将提示符改成绿色:    PS1="\[\e[32m\]\u@\h:\w\$ \[\e[0m]"这里,\e[与m…
bash 中的特殊变量 变量 说明 ------------------------------------ $0 当前脚本的文件名 $n 第n个位置参数 $* 传递给脚本或函数的所有参数,$*会将这些参数视为一个整体 $@ 传递给脚本或函数的所有参数,$@会将所有参数当作同一字符串中的多个独立的单词 $# 脚本运行时携带的参数个数 $? 最近一个命令的退出状态码 $$ 当前shell的进程ID(PID) $! 最近一个后台命令的PID !! 执行上一条命令…
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表.如"$*"用「"」括起来的情况.以"$1 $2 - $n"的形式输出所有参数. $@ 所有参数列表.如"$@"用「"」括起来的情况.以&quo…
除非特别说明,本文中出现的 Shell 均指 Bash 4.3.首先说一个基础知识:Shell 中的变量在展开成值(Parameter Expansion)之后,这个值在某些上下文(Context)中,还会进行分词操作(Word Splitting),但在另外一些上下文中,不会进行分词操作.本文中把会进行分词操作的上下文叫做列表上下文(List Context),把不会进行分词的上下文叫做标量上下文(Scalar Context).还有一个基础知识再提一嘴,就是 Shell 在分词时会跳过那些被…
Linux中环境变量文件及配置   一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]:1.系统级:(1)/etc/profile:该文件是用户登录时,操作…
一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件…
转自:https://linux.cn/article-5657-1.html Linux下无论如何都是要用到shell命令的,在Shell的实际使用中,有编程经验的很容易上手,但稍微有难度的是shell里面的那些个符 号,各种特殊的符号在我们编写Shell脚本的时候如果能够用的好,往往能给我们起到事半功倍的效果,为此,特地将Shell里面的一些符号说明罗列成对 照表的形式,以便快速的查找.看看你知道下表中的哪些Shell符号呢? Shell符号及各种解释对照表: Shell符号 使用方法及说明…
# 表示注释 #! 指定当前脚本的解析器 #!/bin/bash echo "Hello World" ; 命令分隔符 #!/bin/bash echo hello;echo there filename=ttt.sh if [ -r "$filename" ]; then echo "File $filename exists."; cp $filename $filename.bak else echo "File $filenam…
#Bash中的位置参数和特殊参数 #Bash中的位置参数是由0以外的一个或多个数字表示的参数.#位置参数是当Shell或Shell函数被引用时由Shell或Shell函数的参数赋值,并且可以使用Bash的内部命令set来重新赋值.位置参数N可以被引用为${N},或当N只含有一个数字时被引用为$N # $ set 1 2 3 four five six 7 8 9 ten# $ echo "$1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}"# 1 2 3 four fiv…
一.什么是变量 变量在 bash 环境中是非常重要的,简单的说,就是让某一个特定字符串来代表不固定的内容.举例: 那就是:『 y = ax + b 』这东西,在等号左边的(y)就是变量,在等号右边的(ax+b)就是变量内容. 要注意的是,左边是未知数,右边是已知数 二.变量的读取与使用规则: ①  使用echo命令读取变量 语法规则: [root@www ~]# echo $variable 例: [root@localhost ~]# echo $PATH /usr/java/jdk1.7.0…
第一种,使用((表达式)): a=3 ((b=a+2)) echo $b 第二种使用let: let "c=$a+4" echo $c 第三种,使用expr表达式(注意空格不能少): #注意空格和反引号 d=`expr 4 + 3` echo $d 第四种,比较常用,就是放在$[ expression]中,其实这才是bash的推荐的标准处理方法 a=4 b=$[$a-9] #b=-5 echo $b 在C风格的for循环中,则可以如下使用: #!/bin/bash for (( a=1…
BASH内置变量 ().BASH 作用:bash的完整路径.默认为/bin/bash ().BASH_ENV 作用:仅在非交互模式中适用.在执行shell脚本时,会先检查该变量是否指定了启动 脚本,若指定则先执行它指定的启动脚本. ().BASH_VERSION 作用:bash的版本号 实例:echo $BASH_VERSION ().CDPATH 作用:cd的搜索路径,多个路径用':'隔开 实例: CDPATH="/tmp/A/B:/var/log" (假设当前目录为/home/ex…