用具有变量的sed替换文本
我有一个脚本文件,它是用具有变量的sed替换文本,sed,Sed,我有一个脚本文件,它是 ************************************************** case $arg in -start) **./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@** if test $? -ne 0 ; then exit 1 fi ;; -version) ./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config -i -v $@ if test $? -
**************************************************
case $arg in
-start)
**./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@**
if test $? -ne 0 ; then
exit 1
fi
;;
-version)
./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config -i -v $@
if test $? -ne 0 ; then
exit 1
fi
;;
-configtest)
./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config -i -c $@
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
;;
**********************************************
我正在寻找替代者
"./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@"
与
我厌倦了使用sed,但它不允许接受VARABLE作为连续数据。
你能帮帮我吗?我把所有的东西都绑起来了,真是疯了
提前感谢。您想要这一行:
./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@
看起来像这样:
newtask -p $Project_Name ./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@
对吗?然后:
只需使用单引号(”
)将命令和管道(|
)包装为分隔符:
sed -i.bak 's|./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@|newtask -p $Project_Name ./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@|' scriptfile
sed-e's|./$PRODUCT|BIN-d$PRODUCT|u SUBDIR/config$@newtask-p$Project|Name./$PRODUCT|BIN-d$Project|u/config$@scriptfile
我试过了你说的bash-3.00$sed-i.bak's./$PRODUCT BIN-d$PRODUCT u SUBDIR/config$$newtask-p$Project| Name./$Project|u-d$Project|Name./$PRODUCT u-d$PRODUCT BIN-d$Project|SUBDIR/config$$start1:$非法如果在您的情况下不起作用,您可以忽略-i.bak
部分。
sed -i.bak 's|./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@|newtask -p $Project_Name ./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@|' scriptfile