"を含めることはできますか?">

bash変数に ">"を含めることはできますか?

bash変数に "を含めることはできますか?">

現在のアプローチ:

sudo awk 'BEGIN{printf "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<hello>\n\t<world>\n";} {print "\t\t",$0}END{printf "\t </world>\n</hello>\n"}' hello > hello2

好みの方法は機能しません:

hello > hello2コードの重複を避けるために変数として定義したい

$CURRENT_TO_OUT=hello > hello2

echo "CP1" $CURRENT_TO_OUT

sudo awk 'BEGIN{printf "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<hello>\n\t<world>\n";} {print "\t\t",$0}END{printf "\t </world>\n</hello>\n"}' $CURRENT_TO_OUT

$CURRENT_TO_OUT 出力:

CP1 hello

ベストアンサー1

コマンドラインは通常、変数が展開された後に再解釈されません。eval必要な行動を得るために電話する必要があります。

あなたは実際にXYの問題。コードの重複を防ぐには、代わりにシェル関数を使用してください。

convert_func(){
   echo "CP1 $1" > "$2"
   sudo awk 'BEGIN{printf "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<hello>\n\t<world>\n";} {print "\t\t",$0}END{printf "\t </world>\n</hello>\n"}' "$1" > "$2"
}

convert_func input1 targetfile1
convert_func input2 targetfile2

おすすめ記事