Bash中对输入的处理

变量替换操作

  1. ${VAR:-value} 如果变量为空,返回新值。
  2. ${VAR:=value} 如果变量为空,返回新值且付给变量。
  3. ${VAR:?message} 如果变量为空,显式一条消息。
  4. ${VAR:offset:length} 截取变量的一部分。

模式匹配操作

  1. ${VAR#pattern} 匹配第一个,返回后面的。
  2. ${VAR##pattern} 匹配最后一个,返回后面的。
  3. ${VAR%pattern} 从后向前匹配第一个,返回前面的。
  4. ${VAR%%pattern} 从后向前匹配至最前,返回前面的。
#!/bin/bash

PASSWD_PATH=$(which passwd)

echo "\$PASSWD_PATH is $PASSWD_PATH"
echo "\${PASSWD_PATH#*/} is ${PASSWD_PATH#*/}"
echo "\${PASSWD_PATH##*/} is ${PASSWD_PATH##*/}"
echo "\${PASSWD_PATH%/*} is ${PASSWD_PATH%/*}"
echo "\${PASSWD_PATH%%/*} is ${PASSWD_PATH%%/*}"

正则表达式

  1. ^text - Line starts with text
  2. text$ - Line ends with text
  3. . - Wildcard, match any single character
  4. [abc], [a-c] - Matchs a, b or c.
  5. * - Matches 0 or an infinitive number of the previous character.
  6. \{2\} - match exactly 2 of the previous character.
  7. \{1, 3\} - minimum 1 and maximum 3 of the previous character.
  8. colou?r - color or colour

数值计算

  1. $((1 + 1))
  2. let X="$1 $2 $3"; echo $X
  3. echo "scale=9; 10/3" | bc
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 注:本文内容来自庄典老师(公众号:巴赫音乐之作)在赤兔的分享。 与性格强势同事相处时可能会遇到的几种情况: 一、越...
    叫我大王好了啊阅读 393评论 0 0
  • 一日,因一小事直指好友“敏感”,当时她的委屈让我惊奇,为何对“敏感”两字会如此拒斥?何为敏感? 现代汉语词典这样解...
    映一梅阅读 268评论 0 2
  • 人生觀、價值觀能統一了,目標完成是方法和時間的問題! 得道者多助,失道者寡助!得民心者得天下!如果只是陷入做事情中...
    粟莎阅读 269评论 0 0
  • 人要低头做事,更要睁眼看人 择真善人而交,择真君子而处 人的一生,面临一个又一个的选择 选择朋友,只是彼此间选择友...
    古德毛宁Cc阅读 199评论 0 0