2011-06-28 9 views
0

は、私は私が疲れてsedを使用する持っているSEDでテキストを置き換えは

"./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config [email protected]" 

"newtask -p $Project_Name ./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config [email protected]" 

と交換するのを楽しみにしてい

************************************************** 
case $arg in 

-start) 

**./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config [email protected]** 

if test $? -ne 0 ; then 

exit 1 

fi 

;; 

-version) 

./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config -i -v [email protected] 

if test $? -ne 0 ; then 

exit 1 

fi 

;; 

-configtest) 

./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config -i -c [email protected] 

if test $? -ne 0 ; then 

echo 'failure: configuration test failed' 

exit 1 

fi 

echo 'success: configuration was parsed successfully' 

;; 

-shell) 

/bin/sh 

;; 

*) 

echo "Usage: start [-start|-shell|-version|-configtest]" 

exit 1 

;; 

********************************************** 

あるスクリプトファイルを持っているvariabablesそれは相手方のデータとして受け入れ可能ではありません。 あなたはここで私を助けることができます私はすべての種類のものを結ぶことによって私の脳の外です...

ありがとうございます。

答えて

0

あなたはこのラインたい:

newtask -p $Project_Name ./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config [email protected] 

右:

./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config [email protected] 

はこのように見えますか?その後

だけで区切り文字としてコマンドとパイプ(|)をラップするために単一引用符(')を使用します。

sed -i.bak 's|./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config [email protected]|newtask -p $Project_Name ./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config [email protected]|' scriptfile 
+0

あなたは$ SED -i bashの-3.00を言ったように私が試してみました。 bakの| ./$ PRODUCT_BIN -d $ PRODUCT_SUBDIR/config $ @ | newtask -p $ Project_Name ./$PRODUCT_BIN -d $ PRODUCT_SUBDIR/config $ @ | ' start1 sed:違法オプション - i – ashok

+0

あなたのケースではうまくいかない場合、 '-i.bak'パーツを無視することができます。 – ssapkota

+0

はい、感謝しました。 – ashok

関連する問題