type test
type -a test

math calculate:
echo $((1+2*3))

parameter expansition:
bash-4 introduced features:
var=student
echo ${var^}  //Student
echo ${var^^} //STUDENT
var=STUDENT
echo ${var,}  //sTUDENT
echo ${var,,} //student
bash2 introduced features:
${var//PATTERN/STRING}:replace all instances of pattern with string
passwd=12345678
printf "%s\n" "${passwd//?/*}" //********
${var:OFFSET:LENGTH}:return a substring of $var
var=student
echo ${var:0:3} //stu
POSIX SHELL
posix shell introduced some expansions from kornshell.
main returning the length and removing a pattern from the beginning
or end of a variable's contents.
${#var}:length of variable's contents
var=student
echo "${#var}" //7
${var%PATTERN}:remove the shortest match from the end
var=tomorrow
echo ${var%o*} //tomorr
${var%%PATTERN}:remove the longgest match from the end
var=tomorrow
echo ${var%%o*} //t
${var#PATTERN}:remove the shortest match from the beginning
var=tomorrow
echo ${var#*o} //morrow
${var##PATTERN}:Remove the longest match from the beginning
echo ${var##*o} //w

${var:-default} and ${var-default}: use default values
${var:-default}
if the var is unset or empty, then use default
var=
echo ${var:-default} //default
unset var
echo ${var:-default} //default
${var-default}
if the var is unset , then use default , just this case
unset var
echo ${var-default} //default
var=
echo ${var-default} //

shell parameter expansitions的更多相关文章

  1. bash shell parameter expansion

    1 ${parameter%word}和${parameter%%word} ${parameter%word},word是一个模式,从parameter这个参数的末尾往前开始匹配.单个%进行最短匹配 ...

  2. Shell parameter expansion

    使用sh写一些小型的脚本会使工作更加简单.有部分内容可能大家都比較陌生(至少我是这样). 就是变量有关的參数展开,以下就是一些简单的描写叙述和使用方法.能够使代码更加简洁 展开运算符 替换运算 ${v ...

  3. SH Script Grammar

    http://linux.about.com/library/cmd/blcmdl1_sh.htm http://pubs.opengroup.org/onlinepubs/9699919799/ut ...

  4. 学习bash

    工作8年,前6年基本是Windows环境下,也就是个鼠标党:两年前换工作开始用linux,也就开始了领略了命令行的强大,无论是直接在命令行组合命令,也还写几行简单的shell脚本,其能完成的功能往往令 ...

  5. Bash Scripting Learn Notes

    References: [1] http://www.tldp.org/LDP/Bash-Beginners-Guide/html/ 1. Executing programs from a scri ...

  6. saltstack 基本操作

    一.常用操作 ①.模块查看 #查看全部模块 [root@k8s_master ~]# salt '*' sys.list_modules # "*"为所有node节点 (此处可以写 ...

  7. Linux environment variables (环境变量)

    Environment variables are often used to store a list of paths of where to search for executables, li ...

  8. Bash脚本编程之字符串处理

    简介 其实这里说得字符串处理,对应的是bash官网中的[Shell Parameter Expansion],不过直接去看这部分内容实在是太难以理解了.就按照马哥所说的字符串处理会比较好理解,平常使用 ...

  9. man bash

    BASH(1) General Commands Manual BASH(1) NAME bash - GNU Bourne-Again SHell SYNOPSIS bash [options] [ ...

随机推荐

  1. JS验证图片格式和大小并预览

    用于上传图片的js验证: <%@ page language="java" contentType="text/html; charset=UTF-8"p ...

  2. WPF透明设置(Opacity)

    <TextBlock Text="阴影效果" FontSize="32"></TextBlock> <Border Height= ...

  3. 异步与并行~ReaderWriterLockSlim实现的共享锁和互斥锁

    返回目录 在System.Threading.Tasks命名空间下,使用ReaderWriterLockSlim对象来实现多线程并发时的锁管理,它比lock来说,性能更好,也并合理,我们都知道lock ...

  4. oracle触发器详解

    触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 1.触发器类型 触发器在数据库里以独立的对象存储,它与存储过程和 ...

  5. Hibernate插入数据后获得ID

    很多表的主键都是自增型的,新增的记录使用save()方法保存以后,要获得ID,直接使用getId()就可以了,因为此时记录已经保存进数据库,已经有了ID. 另一种方法是使用MySQL的SELECT L ...

  6. 从零开始学 Java - 利用 Nginx 负载均衡实现 Web 服务器更新不影响访问

    还记得那些美妙的夜晚吗 你洗洗打算看一个小电影就睡了,这个时候突然想起来今天晚上是服务器更新的日子,你要在凌晨时分去把最新的代码更新到服务器,以保证明天大家一觉醒来打开网站,发现昨天的 Bug 都不见 ...

  7. 服务器判断http是否中断

    一般来说,只需要send或者recv一下,如果结果为零,则为掉线. 1.当recv返回值为0是表示对方已经正常(MSDN说是完美的)的断开连接.2.当recv返回SOCKET_ERROR时,说明对方已 ...

  8. jquery自定义对话框alert、confirm和prompt

    jQuery Alert Dialogs,又一个基于jQuery的提示框插件,主要包括Alert.Confirm.prompt这三种,还有一个高级范例,可以在提示框内嵌入HTML语言,可以自定义风格样 ...

  9. IE9 IE8 ajax跨域问题的解决

    项目中用到的跨域 ,在除IE9以下的浏览器上运行都是没有问题的,IE8 IE9中报错,error :no transport; 网上解决办法均是 在发起请求之前添加 jQuery.support.co ...

  10. vmwawre 虚拟机优化配置

    vmware虚拟机如何设置不当的话会造成运行速度慢,并影响主机运行,甚至会出现死机. 一下是提高vmware虚拟机运行速度的几个技巧, 文章来自:http://blog.csdn.net/shanzh ...