04 变量和参数介绍

4.1 变量替换


变量替换: 是指通过变量名替换成其内部包含的变量值.

变量赋值, variable 这个是变量名, $variable 这个是变量值.

a=375

hello=$a

注意: 赋值时, 千万不要有空格

“” 双引号不会影响变量替换,

‘’ 单引号中不会发生变量替换

$variable 是 ${variable}的简单化表示, 如果使用 $variable这种语法有的情况下会引起歧义.

例子:

hello=375

echo
hello             #
hello

echo $hello           #
375

echo ${hello}        # 375

echo “$hello”      # 375

echo “${hello}”   # 375

hello=”A B  C   D”

echo $hello           
# A B C D

echo “$hello”       # A B  C  
D

注意, 这里输出的结果不一样. 因为在””号内会保留空白, 所以,

如果变量中有空格 space, 那么就必须使用 双引号. 这里指的是等号右边必须使用””

mixed_bag=2\ ---\ Whatever   # 使用 \ 转义字符来转义空格, 这样就不用使用双引号了

# 输出结果是 2 --- Whatever

hello=                  
# 这个含义是给 hello 赋值为 null

# Note that setting a variable to a null value is not the same as unsetting
it.

unset varibale

注意: 跟 C 一样, 使用变量之前要进行初始化, 否则该变量就是 null, 如果使用, 就会有大问题.

4.2 变量赋值

注意赋值=号左右不能有空格.

let a=16+5      # let 赋值, 如果直接使用 a=16+5, 那么输出时, 结果就是
16+5, 而不是计算出的结果 21.

变量之间的赋值, b=$a

command substitution 命令替换

a=`echo Hello!`     # assigns result of ‘ls –l’ command
to ‘a’

echo
$a               
# 显示的是 ls –l 的内容, 因为变量a的值是 ls –l 命令的结果

使用 $() 这个办法, 这是一个新的办法对比 ``, 例如

r=$(cat /etc/redhat-release)

arch=$(uname -m)

4.3 bash 变量不区分类型

a=2334                         
# 2334 数字

let “a += 1”

echo “a =
$a”              
# 2335

b=${a/23/bb}                 
# 变量替换, bb for 23

echo
“b=$b”                 
# bb35   用bb替换了原来的23

let “b +=
1”                  
# bb35 + 1 =

echo “b =
$b”               
# b = 1

echo

c=bb34

echo “c =
$c”               
# c= bb34

4.4 特殊的变量类型

local variables, 在代码块{} 或者是函数中定义的变量

environmental variables, 环境变量

每个进程都有自己的环境, 这个环境变量除了影响它本身的环境外, 还影响它的子进程.

注意: 分配给环境变量的空间时有限的, 如果超出了, 就会产生错误.

If a script sets environmental variables, they need to be “exported”, that
is, reported to the environment local to the script.

脚本中定义的环境变量, 只能针对这个脚本内(执行这个脚本本身就是个进程)和这个脚本中的子bash, 不能影响到调用这个脚本命令的那个环境变量,
例如我们设置 oracle 的环境变量时, 我们需要到特定的文件下, 而不是我们随便创建一个脚本文件就可以设置环境变量的,
因为如果是随便创建一个文件设置的环境变量, 将不能影响外部(调用脚本命令)的环境.

positional parameters 从命令行传进来的参数

$0 脚本文件名

$1 第1个参数

$2 第2个参数 等等

$9 以后, 就必须使用这种形式 ${10},

$# 表示参数的总个数

${!#} 表示最后一个参数

04 变量和参数介绍,布布扣,bubuko.com

时间: 2024-11-09 21:06:45

04 变量和参数介绍的相关文章

音频滤镜参数介绍

音频滤镜 当你配置编译FFmpeg时,先采用--disable-filters可以禁止所有的滤镜,然后显式配置想要支持的滤镜. 下面是当前可用的音频滤镜 adelay 延迟一个或者多个音频通道 它接受如下选项: delays 参数是以|分隔的列表字符串,分别用于指明对应各个通道延迟的微秒(milliseconds)数.应提供至少一个大于0的延迟.未使用的延迟将被静默忽略.如果延迟值数量小于通道数量,则剩余通道不会被延迟. adelay例子 第一通道延迟1.5秒,第三通道0.5秒(其它通道均不延迟

Nginx+php配置文件及功能参数介绍

目录: 一.Nginx配置文件 二.upstream 模块介绍: 三.fastcgi 模块介绍: 四.PHP配置文件 一.Nginx配置文件 user  www www;                                                                                                                                     ##nginx程序运行用户和用户组 worker_process

深入浅出 JVM GC(4)常用 GC 参数介绍

# 前言 从前面的3篇文章中,我们分析了5个垃圾收集器,还有一些 GC 的算法,那么,在 GC 调优中,我们肯定会先判断哪里出现的问题,然后再根据出现的问题进行调优,而调优的手段就是 JVM 提供给我们的那些参数或者说选项,这些参数将会改变 GC 的运行方式.因此,他们显得极为重要. 我们将每一个垃圾收集器相关的参数一个一个娓娓道来,注意,楼主推荐一个小程序:前阿里 JVM 大神寒泉子的公众号里面有个小程序------JVM Pocket,这个小程序介绍了所有的 JVM 参数的作用,你可以在里面

caffe 中的一些参数介绍

caffe 参数介绍 solver.prototxt net: "models/bvlc_alexnet/train_val.prototxt" test_iter: 1000 # test_interval: 1000 # base_lr: 0.01 # 开始的学习率 lr_policy: "step" # 学习率的drop是以gamma在每一次迭代中 gamma: 0.1 stepsize: 100000 # 每stepsize的迭代降低学习率:乘以gamma

【体系结构】Oracle参数介绍

[体系结构]Oracle参数介绍 1  BLOG文档结构图     2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① Oracle中的各种参数介绍及其查询方法 ② Oracle中V$PARAMETER及V$PARAMETER2的区别 ③ 隐含参数的查询.重置.清除 ④ 会话参数和实例参数的查询 ⑤ 静态参数和动态参数.延迟参数 ⑥ V$PARAMETER视图的每列含义(重点) Tips: ①

JavaOO视频-04【基本数据类型介绍02、数据类型转换】

转载请标明,http://www.gxabase.com视频内容:此节视频会接着给大家讲基本数据类型的介绍,包括:浮点型.字符型.布尔型.然后再为大家介绍学习八大基本数据类型必须掌握的数据类型转换这一知识点. JavaOO视频-04[基本数据类型介绍02.数据类型转换],布布扣,bubuko.com

ffmpeg 安装和参数介绍

1. mac  os系统下编译安装 官网:https://trac.ffmpeg.org/wiki/CompilationGuide/MacOSX 廖雪峰: http://www.liaoxuefeng.com/article/0013738927837699a7f3407ea5f4b5caf8e1ab47997d7c5000 http://blog.csdn.net/luka2008/article/details/21243499  (有问题,可以直接用brew安装编码器) 重点:安装 xc

Puppet apply命令参数介绍(五)

Puppet apply 命令参数介绍 之前说过puppet的两种运行方式,第一种:c/s结构,第二种:单机运行.apply就是单独执行本地*.pp文件的代码工具,通常用于本地测试调试puppet代码. puppet apply常用参数: [[email protected] ~]# puppet apply -h puppet-apply(8) -- Apply Puppet manifests locally ======== SYNOPSIS -------- Applies a stan

SQLMAP参数介绍

转自:http://zhan.renren.com/bugpower?gid=3602888498044629629&checked=true SQLMAP参数介绍 sqlmap的使用方式:python sqlmap.py [options]: sqlmap中一共有以下十六个选项卡: 帮助选项卡: Target(目标选项卡): Request(请求选项卡): Optimization(优化选项卡): Injection(注射选项卡): Detection(探测选项卡): Techniques(注