#!/bin/ksh
USAGE="<unknown>"
CMD="<unknown>"
usage() {
echo "usage: $CMD $USAGE"
exit 1
}
#### no spaces
CMD="${0##*/}"
USAGE="<lsco_files.tar>"
(($# != 1 )) && usage
## echo number == return
readY()
{
read answer
if [ $answer == "y" ]
then
return 0
else
return 1
fi
}
checkOutFile()
{
muckup $1 > /dev/null
return 0
}
g_init_check=$(lsco)
haveCheckOut()
{
# ksh no local variable
for i_check in ${g_init_check[@]}
do
if [[ $i_check == $1 ]]
then
echo file have checkout
return 0
fi
done
return 1
}
c_view=$(cleartool pwv -s)
#if [[ $c_view =~ "NONE" ]]
if [[ $c_view == *NONE* ]]
then
echo "not in the view"
exit 1
fi
lsco_view=$(echo $1|sed -r 's/.*o_(.+)_.*/\1/')
if [[ $c_view == $lsco_view ]]
then
echo "same view continue checkout [y]"
readY || exit 1
fi
check_out=$(tar -tPf $1)
for file in ${check_out[@]}
do
haveCheckOut $file
if [[ $? -eq 0 ]]
then
echo "ignore $file";
continue;
fi
echo "muckup file $file [y]"
readY ||{ echo ignore $file; continue;}
checkOutFile $file
if [[ $? -ne 0 ]]
then
echo muckup failed
exit 1
fi
done
exit 0
shell script lsco_restore.sh
最新推荐文章于 2024-09-27 11:17:41 发布