2011-10-20 4 views
0

delimeterを指定し、2つの変数($ @や$!などの値)を取得するbashの構造を知っている人はいますか?" - option = false"のようなコマンドから2つの値を抽出するBashの構文?

例:
- オプション= falseは、 '='区切り文字で指定する必要があります。一方の変数には 'option'という単語があり、他方の変数には 'false'という単語が格納されます。誰でも知っていますか?

P .:いいえsed、awkまたはIFSソリューションはご利用ください。私はそれらを認識していますが、特定のbashの構文を要求しています:)

+0

"--option = false"を=に分割した場合、最初の変数は "option"だけでなく "--option"を保持しませんか?さもなければ余分なオプション認識インテリジェンスが進行しているようです。 – unwind

答えて

1

Bashのマニュアルページにあるように、パラメータ拡張を使用して問題を解決できます。

# split first argument on equal sign (left=right)  
left=${1%%=*} 
right=${1#*=} 
+0

ありがとう!それはまさに私が探していたものでした!チャームのように働いた! – Kounavi

+1

私は、正しい行は "left = $ {1%= *}"と考えています – Kounavi

1

私はGNU getoptのプログラムはここに(使用可能な場合、当然の)適切であると考えています。 長いオプションをサポートしています。

関連する問題