Shell parameter expansion

使用sh写一些小型的脚本会使工作更加简单。有部分内容可能大家都比較陌生(至少我是这样)。

就是变量有关的參数展开,以下就是一些简单的描写叙述和使用方法。能够使代码更加简洁

展开运算符

替换运算

${varname:-word} var exist & not null,return value ,else return word

${varname:=word}  var exist & not null,return value, else varname=word & return $varname

${varname:?message} var exist & not null,return value, else show message & if not define exit

#test variable is or not exist

${varname:+word} if exist & not null ,return word, else return null

(:)is optional

匹配运算

${variable#pattern}

${variable##pattern}

${variable%pattern}

${variable%%pattern}

# % is from left or right

时间: 2024-08-04 10:56:21

Shell parameter expansion的相关文章

bash shell parameter expansion

1 ${parameter%word}和${parameter%%word} ${parameter%word},word是一个模式,从parameter这个参数的末尾往前开始匹配.单个%进行最短匹配,也就是说,从后往前匹配,遇到了匹配成功立马停止. ${parameter%%word},word是一个模式,从parameter这个参数的末尾往前开始匹配.双%进行最长匹配,也就是说,从后往前匹配,遇到了匹配继续匹配,一直匹配到开头,找到最长的匹配. path=/home/mem/long.fil

Linux Shell参数扩展(Parameter Expansion)

本文主要参考:http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02 其他资料:http://www.ibm.com/developerworks/cn/linux/l-bash-parameters.html 参数扩展的表示形式为:${expression}.expression包括各种字符直到匹配上'}'.当出现以下情况时候'}'不会被检查来匹配: 1)在转义字符\之后,如\{

bash重谈:Quoting

3.1.2 Quoting------------- * Menu: * Escape Character:: How to remove the special meaning from a single character.* Single Quotes:: How to inhibit all interpretation of a sequence of characters.* Double Quotes:: How to suppress most of the interpreta

Linux environment variables (环境变量)

Environment variables are often used to store a list of paths of where to search for executables, libraries, and so on. 环境变量通常存放一堆路径,这些路径用来搜索可执行文件.动态链接库,等等. Examples are $PATH, $LD_LIBRARY_PATH, 可以通过 echo 命令来查看: [[email protected] ~]# echo $PATH /usr

See the world from the eyes of shell

In this chapter we are going to look at some of the "magic" that occurs on the command line when you press the enter key.While we will examine several interesting and complex features of the shell,we will do it with just one new command: echo -

[ SHELL编程 ] shell中各种括号的使用方法

转载自:http://www.jb51.net/article/60326.htm 在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下:1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern)现在分

Shell参数展开

参数展开(parameter expansion)是shell提供变量值在程序中使用的过程. 展开运算符 包括替换运算符和模式匹配运算符 替换运算符 运算符 替换说明 记忆 ${varname:-word} 若varname存在且非null,则返回其值:否则返回word. 空则返回word ${varname:=word} 若varname存在且非null,则返回其值:否则,设置varname的值为word,并返回其值.改变变量的值. 空则返回word,并改变变量值 ${varname:?mes

shell中的特殊符号

Shell符号及各种解释对照表: Shell符号 使用方法及说明 # 注释符号(Hashmark[Comments]) 1.在shell文件的行首,作为shebang标记,#!/bin/bash; 2. 其他地方作为注释使用,在一行中,#后面的内容并不会被执行,除非: 3. 但是用单/双引号包围时,#作为#号字符本身,不具有注释作用. ; 作为多语句的分隔符(Command separator [semicolon]). 多个语句要放在同一行的时候,可以使用分号分隔.注意,有时候分号需要转义.

Shell Style Guide

Shell Style Guide Revision 1.26 Paul ArmstrongToo many more to mention Each style point has a summary for which additional information is available by toggling the accompanying arrow button that looks this way: ▽. You may toggle all summaries with th