替换运算符 shell】的更多相关文章

    ${变量:-word}如果变量存在且非空,则返回其值:否则返回word                  用于:如果变量未定义,则返回默认值即word      ${变量:+word}如果变量存在且非空,则返回word:否则返回null                  用于:测试变量是否存在      ${变量:=word}如果变量存在且非空,则返回其值:否则,设置它为word,并返回其值                  用于:如果变量非订立,则设置变量为默认值,且还返回!     …
bash下几个替换运算符的区分 2012-03-21 22:20:54 分类: Python/Ruby 一直对四个替换运算符比较的迷惑,分布太清楚,记下来避免再次遗忘:   ${name:-word}     若name存在且非NULL,返回name,否则返回word   ${name:=word}     若name存在且非NULL,返回name,否则令name=word并返回name   ${name:?word}     若name存在且非NULL,返回name,否则显示name:word…
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: #!/bin/bash a=10 echo -e "Value of a is $a \n" 运行结果: Value of a is 10 这里 -e 表示对转义字符进行替换.如果不使用 -e 选项,将会原样输出: Value of a is 10\n 下面的转义字符都可以用在 echo 中: 转义字符 含义 \\ 反斜杠 \a 警报,响铃 \b 退格(删除键)…
转载:http://www.firefoxbug.net/?p=722     Var=/home/firefox/MyProgram/fire.login.name ${Variable#pattern}:如果模式匹配于变量值的开头处,则删除匹配的最短部分,并且返回剩下的部分 例子: [fire]$ echo ${Var#*/} [fire]$ home/firefox/MyProgram/fire.login.name [fire]$ echo ${Var#/*/} [fire]$ fire…
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: 复制纯文本复制 #!/bin/bash a=10 echo -e "Value of a is $a \n" #!/bin/bash a=10 echo -e "Value of a is $a \n" 运行结果: Value of a is 10 这里 -e 表示对转义字符进行替换.如果不使用 -e 选项,将会原样输出: Value of…
运算符 描述 示例 文件比较运算符 -e filename 如果 filename 存在,则为真 [ -e /var/log/syslog ] -d filename 如果 filename 为目录,则为真 [ -d /tmp/mydir ] -f filename 如果 filename 为常规文件,则为真 [ -f /usr/bin/grep ] -L filename 如果 filename 为符号链接,则为真 [ -L /usr/bin/grep ] -r filename 如果 fil…
说起Shell脚本,免不了用变量.特别是对于这种一堆符号表示变量的语言来说,你不了解一下相关变量的本意,根本无从下手.譬如写个循环遍历,$#就起了好大作用.所以还是有必要记录一下,也是对学习的一个笔记,方便以后查找. 另外有一些运算符也相当有意思. //---------------------分割线,下文为笔记内容------------------------- 变量相关的命令 export, readonly export:用于修改或打印变量 readonly:设置变量为只读   替换运算…
一.shell script Shell 脚本(shell script),是一种为shell编写的脚本程序.业界所说的shell通常都是指shell脚本,但读者朋友要知道,shell和shell script是两个不同的概念. 1. 新建一个shell脚本hw.sh 扩展名并不影响脚本执行,只是方便表示文件类型 "#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell. 2. shell脚本的执行 a:作为可执行程序 ./hw.sh 注意,一定要写成…
运算符   描述 示例 文件比较运算符 -e filename 如果 filename 存在,则为真(不管文件或目录) [ -e /var/log/syslog ] -d filename 如果 filename 为目录,则为真 [ -d /tmp/mydir ] -f filename 如果 filename 为常规文件,则为真 [ -f /usr/bin/grep ] -L filename 如果 filename 为符号链接,则为真 [ -L /usr/bin/grep ] -r file…
1.文件比较运算符 -e filename 如果 filename 存在,则为真 [ -e /var/log/syslog ] -d filename 如果 filename 为目录,则为真 [ -d /tmp/mydir ] -f filename 如果 filename 为常规文件,则为真 [ -f /usr/bin/grep ] -L filename 如果 filename 为符号链接,则为真 [ -L /usr/bin/grep ] -r filename 如果 filename 可读…