渡人自渡 发表于 2018-8-24 11:45:17

shell ${}特殊运用

  假設我們定義了一個變量為:
  file=/dir1/dir2/dir3/my.file.txt
  我們可以用 ${ } 分別替換獲得不同的值:
  ${file#*/}:拿掉第一條 / 及其左邊的字串:dir1/dir2/dir3/my.file.txt
  ${file##*/}:拿掉最後一條 / 及其左邊的字串:my.file.txt
  ${file#*.}:拿掉第一個 .及其左邊的字串:file.txt
  ${file##*.}:拿掉最後一個 .及其左邊的字串:txt
  ${file%/*}:拿掉最後條 / 及其右邊的字串:/dir1/dir2/dir3
  ${file%%/*}:拿掉第一條 / 及其右邊的字串:(空值)
  ${file%.*}:拿掉最後一個 .及其右邊的字串:/dir1/dir2/dir3/my.file
  ${file%%.*}:拿掉第一個 .及其右邊的字串:/dir1/dir2/dir3/my
  記憶的方法為:
  # 是去掉左邊(在鑑盤上 # 在 $ 之左邊)
  % 是去掉右邊(在鑑盤上 % 在 $ 之右邊)
  單一符號是最小匹配﹔兩個符號是最大匹配。
  转自CHINAUNIX.NET

页: [1]
查看完整版本: shell ${}特殊运用