我正在编写一个 shell 脚本,它可以让我了解 svn 中目录的状态,然后循环遍历它并添加或删除文件。
这个 svn 命令
$ svn status /myLocalDir/files
返回我在本地添加或删除的文件。? = 添加,!= 已删除
! /myLocalDir/files/deletedPicture.png
? /myLocalDir/files/addedPicture.png
我在我的 bash 脚本中使用了一个循环(见下文)。我需要做的是,当我遍历已添加或删除的文件/文件夹的根目录时,我需要
A. 打印出“删除”[X]或“添加”[X]
B. 根据第一个字符 (?,!) 确定是否应该删除循环中的当前文件或将当前文件添加到 svn。
我只是不确定如何解析字符串“!/myLocalDir/files/deletedPicture.png”的语法来做到这一点
for X in `svn status /myLocalDir/files | cut -c 8-300`
do
if [ "!" ]
then
echo "Deleting " $X
#svn $CREDENTIALS delete $X
else
echo "Adding " $X
#svn $CREDENTIALS add $X
fi
done
我注意到的另一件事..甚至认为命令行中的 svn 状态
! /myLocalDir/files/deletedPicture.png
? /myLocalDir/files/addedPicture.png
我的 bash 循环回声是这样的
!
/myLocalDir/files/deletedPicture.png
?
/myLocalDir/files/addedPicture.png