如何检查文件是否在 svn 中更改并在脚本中根据它决定下一步操作
How to check if a file is changed in svn and decide the next action based on it in a script
我想编写一个 bash 脚本,如果文件发生更改,我将提交。
是否有 returns true 或 false 的命令,以便我可以在我的“如果文件已更改?”
中检查它
我有:
如果 ???
svn --trust-server-cert --non-interactive --username MYUSERNAME --password MYPASSWORD 提交。 -m “我的评论”`;
我创建了一个 .sh 文件,这里的内容只是为了测试返回的 svn 状态,即使文件没有变化,它 returns "$SVNST 不为空":
#!/bin/bash
echo "Hello world"
SVNST=$`svn status MYFILE`
echo $SVNST
if [ -z "$SVNST" ]
then
echo "$SVNST is empty"
else
echo "$SVNST is NOT empty"
fi
您在 svn
调用之前有一个额外的 $
,这导致您的 -z
零检查始终为假,因为总是有 $
在$SVNST
的开头。变化:
SVNST=$`svn status MYFILE`
至:
SVNST=`svn status MYFILE`
您的脚本将按预期运行。
我想编写一个 bash 脚本,如果文件发生更改,我将提交。 是否有 returns true 或 false 的命令,以便我可以在我的“如果文件已更改?”
中检查它我有:
如果 ???
svn --trust-server-cert --non-interactive --username MYUSERNAME --password MYPASSWORD 提交。 -m “我的评论”`;
我创建了一个 .sh 文件,这里的内容只是为了测试返回的 svn 状态,即使文件没有变化,它 returns "$SVNST 不为空":
#!/bin/bash
echo "Hello world"
SVNST=$`svn status MYFILE`
echo $SVNST
if [ -z "$SVNST" ]
then
echo "$SVNST is empty"
else
echo "$SVNST is NOT empty"
fi
您在 svn
调用之前有一个额外的 $
,这导致您的 -z
零检查始终为假,因为总是有 $
在$SVNST
的开头。变化:
SVNST=$`svn status MYFILE`
至:
SVNST=`svn status MYFILE`
您的脚本将按预期运行。