ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在 bash 中的變量調用處理中

在 bash 中的變量調用處理中

原创 Linux操作系统 作者:duckula81 时间:2011-05-06 14:42:07 0 删除 编辑
在 bash 中的變量調用處理中,
${var#pattern} 是要將變量值左邊的最短 pattern 拿掉。
${var##pattern} 是要將變量值左邊的最長 pattern 拿掉。
因此,${var##*/} 就是將最後一個 / 及其左邊的內容拿掉。

${var%pattern} 是要將變量值右邊的最短 pattern 拿掉。
${var%%pattern} 是要將變量值右邊的最長 pattern 拿掉。
因此,${var%/*} 就是將最後一個 / 及其右邊的內容拿掉。

來玩個實驗好了:
當 FNAME="/home/kenny/tmp/test.1.sh" 的時候﹕
${FNAME} 顯示變數值的全部。 /home/kenny/tmp/test.1.sh

${FNAME##/*/} 比對變數值開端﹐如果以 /*/ 開頭的話﹐砍掉最長的部份。                 test.1.sh

${FNAME#/*/} 比對變數值開端﹐如果以 /*/ 開頭的話﹐砍掉最短的部份。       kenny/tmp/test.1.sh

${FNAME%.*} 比對變數值末端﹐如果以 .* 結尾的話﹐砍掉最短的部份。 /home/kenny/tmp/test.1   

${FNAME%%.*} 比對變數值末端﹐如果以 .* 結尾的話﹐砍掉最長的部份。 /home/kenny/tmp/test     

${FNAME/sh/bash} 如果在變數值中找到 sh 的話﹐將第一個 sh 換成 bash。 /home/kenny/tmp/test.1.bash

${FNAME//sh/bash} 如果在變數值中找到 sh 的話﹐將全部 sh 換成 bash。 /home/kenny/tmp/test.1.bash

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/222840/viewspace-694614/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Vertica 简介
请登录后发表评论 登录
全部评论

注册时间:2010-09-26

  • 博文量
    11
  • 访问量
    18028