変数に保存されたテキストを検索するには?

変数に保存されたテキストを検索するには?
#!/bin/bash
num=$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings | grep -oE '[0-9]+'|sort -rn|head -n 1)
key=$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings)
newnum=$(grep -oE '[0-9]+' $key |sort -rn|head -n 1)
echo $newnum

grepファイル名として受け入れます$keyが、変数に保存されているテキストを検索したいです$text

答え1

<<<herestringを使用してgrepに文字列を渡すことができます。

newnum=$(grep -oE '[0-9]+' <<< "$key" | sort -rn | head -n 1)

echo "$key" | grepこれは追加のプロセスを作成するよりも効率的です。

回避するには、変数を二重引用符で囲む必要があります。噴射そしてワイルドカード。バラよりこれしかも。

関連情報