Shell中变量扩展操作】的更多相关文章

假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt${file#*.}:删掉第一个 . 及其左边的字符串:file.txt${file##*.}:删掉最后一个 . 及其左边的字符串:txt${file%/*}:删掉最后一个 / 及其…
转至:https://blog.csdn.net/weibo1230123/article/details/82085226 在shell中变量的赋值有五种 :使用 read 命令,直接赋值,使用命令行参数,使用命令行的输出结果,从文件读取 1. 直接赋值,格式为:变量名 = 变量值 2.Read 命令是系统内置命令,语法格式为: read  变量 1   变量 2 3. 使用命令行参数赋值:  $ 命令   参数 1   参数 2  参数 3 4. 利用命令的输出结果赋值: currentdi…
变量在很多编程语言中都有,Shell中也不例外,我们下面看一下Shell中的变量怎么使用: 以下蓝色字体部分为Linux命令,红色字体的内容为输出的内容: # cd /opt/scripts # vim script02.sh 开始编写script02.sh的脚本,脚本内容为: #! /bin/sh long_string="this is a test" echo $long_string num1=20 num2=30 echo $(($num1+$num2)) echo &quo…
目录 常见的运算符 expr命令 @(Shell中变量的数学运算) 常见的运算符 环境变量 说明 + 加 - 减 * 乘 / 除 % 取模 因为Shell中将*作为通配符使用, expr命令 expr命令可以对整数进行算术运算,在算术表达式中如果出现变量,必须在变量前加$,并且要在运算符和变量之间要加空格 expr空格9空格+空格$a 若要在Shell脚本中获取expr的计算结果,需要将expr命令用倒括号`括起来 如下图: ## let命令 let命令可以进行算术运算,将算术表达式跟在let后…
1.变量的声明 name="blacksonny" 注意://变量定义时不加$,变量与等号之间不能有空格 变量命名规则: 首个字符必须为字母(a-z,A-Z). 中间不能有空格,可以使用下划线(_). 不能使用标点符号. 不能使用bash里的关键字(可用help命令查看保留关键字) 2. 使用变量 如果要使用变量,在该变量前加上$即可,也推荐使用${name} 如:$name #!/bin/bash #description: use variable #Author: blackso…
1.输出变量 : #! /bin/bash my_var=BOB echo $my_var echo "hi,$my_var" echo "the price is \$5" 若想输出$符号,需要加入转义符号 2.命令替换 将命令的输出赋值给变量的方法 my_var=`date`    #    `是esc键旁边那个 my_var=$(date) 这个方法命令可以生成以日期命名的独一无二的文件 today=`date +%y%m%d` echo $date ls -…
在某些时刻我们经常需要判断某个变量是否存在,若变量存在则使用既有的设置,若变量不存在则给予一个常用的设置. (1) 变量未被设置或者内容为空,则替换为新的内容. new_var=${old_var-content} 范例一:测试一下是否存在 username 这个变量,若不存在则给予 username 内容为 root [root@www ~]# echo $username <==由于出现空白,所以 username 可能不存在,也可能是空字符串 [root@www ~]# username=…
example: if ($?USER == 0 || $?prompt == 0)   then       ....     if ( $?DS_HOME != 0 ) then if ( ${?HYBRID_ARCHITECTURE} && $HYBRID_ARCHITECTURE == "NONE_HYBRID" ) then .... 表示:如果变量(var)已被设置,则$?var或$(?var)为1,否则为0.…
删除 ${varname#strMatch} // 在varname中从头匹配strMatch,然后删除从头到第一次匹配到的位置 ${varname##strMatch} // 在varname中从头匹配strMatch,然后删除从头到最后一次匹配到的位置 ${varname%strMatch} // 在varname中尾头匹配strMatch,然后删除从尾到第一次匹配到的地方 ${varname%%strMatch} // 在varname中尾头匹配strMatch,然后删除从尾到最后次匹配到…
字符串截取 假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 /及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个 /  及其左边的字符串:my.file.txt${file#*.}:删掉第一个 .  及其左边的字符串:file.txt${file##*.}:删掉最后一个 .  及其左边的字符串:txt${file%/*}:删掉最…