もともと: IF grep は何を探しているかを見つけます do X else Yしかし、元の質問には回答がありました。
$@ の値は "Load firefox/3.6.12" です
var1=$(echo "$@" | grep -Eio '\s\w*') # Gets the application name and put it into var1
echo $var1 # is not printed should be "firefox"
var2=$(echo "$@" | grep -o '[^/]*$') # Gets version name and put it into var2
echo $var2 # prints fine
正規表現は問題ありません。何かを変更する前に、以前は機能していました
編集:何か問題があります
var1=$(echo "$@" | grep -Eio '\s\w*') #expected result is: firefox
私が使用する場合、私は正常に動作します
var1="firefox"
ある点で何かを変更したに違いありません。
編集:ソリューション
echo "Load firefox/6.12.3" | awk ‘{print $2}’ | cut -f1 -d”/”
grep は使用されなくなりました。