Je souhaite tester si une vue d'espace libre existe et n'exécuter la commande remove que si elle existe. J'essaie de le faire à partir d'un script shell dans un environnement Linux 6.x. J'ai essayé de formater mes conditions à la fois en tant que doublure et en "full", mais je ne pense pas pouvoir le faire fonctionner. Que dois-je faire pour que les deux approches - un interligne et une syntaxe complète - fonctionnent?Utilisation de scripts shell pour supprimer la vue en clair si elle existe en utilisant une seule ligne si
Voici le code, dans son dernier état
#!/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
Je préférerais un type en une ligne de solution, mais « si » déclaration sera également.
Que diriez-vous: '" $ {ctdir}/cleartool "lsview" $ {nom_vue} ">/dev/null 2> & 1 && {" $ {ctdir} "/ cleartool rmview" $ {nom_vue} "; echo "vue supprimée"; } ' – bishop
Je vais essayer ça. Si je veux ajouter une partie échouée en indiquant l'écho "Impossible de supprimer la vue", comment ferais-je cela? Aussi, si possible, pouvez-vous expliquer comment cela fonctionne? – adbdkb
Remarque: pour supprimer réellement une vue, il est nécessaire d'effectuer un désenregistrement et de ne plus l'enregistrer: voir Nukeview dans http://stackoverflow.com/a/4319090/6309. – VonC