Bash

在哪裡可以找到有關在變數構造中使用正則表達式的 shell 腳本語法的文件?

  • January 20, 2014

我正在調試包含此循環的 shell 腳本(我沒有編寫):

read line < "$pid_file"
for p in $line ; do
 [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
done

有人可以指出我使用的文件(我假設)是字元串變數構造中的正則表達式,即 “${p//

$$ 0-9 $$/}"。這個話題在Google中並不容易縮小。

這是一種參數擴展(即變數擴展)的形式,對變數的值進行文本轉換。變數的值無論出現在哪裡,都會p將模式替換為[0-9]空字元串——換句話說,"${p//[0-9]/}"p沒有數字字元的值。

在 bash 文件中,您可以在${parameter/pattern/string}. 這種形式用指定的字元串替換指定模式的第一次出現。如果第一個斜線加倍,則替換所有出現的位置。該模式是一個glob,即與文件名匹配相同的萬用字元模式。

引用自:https://unix.stackexchange.com/questions/110191