クリアケースビューが存在するかどうかをテストし、削除コマンドが存在する場合にのみ実行します。私はLinux 6.x環境のシェルスクリプトからやろうとしています。私は1つのライナーと完全な "if"ステートメントの両方で自分の条件をフォーマットしようとしましたが、動作させることができないようです。 1つのライナーと完全な構文の両方を得るためには何が必要ですか?声明はまた、動作する「場合は、」ここで シェルスクリプトを使用してクリアケースビューを削除する場合は、ライナーを1つ使用してください。
は、その最新の状態#!/bin/ksh
#
STREAMNAME=app_stream_int
PVOB=domain_pvob
VOB=domain_app
viewdir=/opt/local/software/rational/viewstorage
shareddir=/opt/shared/test
storagedir=${shareddir}/viewstorage
projectdir=${shareddir}/projects
ctdir=/opt/rational/clearcase/bin
viewname=$viewdir/test_$STREAMNAME.vws
viewtag=test_$STREAMNAME
echo "STREAMNAME $STREAMNAME - PVOB $PVOB - VOB $VOB"
echo "Removing View if it exists ... \n"
# [ $(${ctdir}/cleartool lsview ${viewname}) ] && { ${ctdir}/cleartool rmview ${viewname}; echo "view removed" }
# [ ${ctdir}/cleartool lsview -long ${viewtag} ] && { ${ctdir}/cleartool rmview ${viewname}; echo "view removed" }
# ${ctdir}/cleartool lsview -long ${viewtag} | grep "Tag" && { ${ctdir}/cleartool rmview ${viewname}; echo "view removed" }
if [ ${ctdir}/cleartool lsview -long ${viewtag} | grep 'Tag' == "0" ]
then
echo "view found"
${ctdir}/cleartool rmview ${viewname}
fi
私はソリューションのワンライナータイプを好むだろうに、コードですが、。コマンドを提供
の方法について: '" $ $ {viewname} ">/dev/null 2>&1 && {" $ {ctdir} "/ cleartool rmview" $ {viewname} ";エコー "ビューが削除されました"; } ' – bishop
私はそれを試みます。エコー "ビューを削除できません"というエラー部分を追加したい場合、どうすればいいですか?また、可能であれば、これがどのように機能するか説明できますか? – adbdkb
注:実際にビューを削除するには、タグの解除と登録解除が必要です。http://stackoverflow.com/a/4319090/6309のnukeviewを参照してください。 – VonC