脚本不适用于“?”案件。当我直接在命令行中运行...工作正常但在脚本中无法运行“?”条件。颠覆文件的shell脚本
svn st svn_promote_WP
M svn_promote_WP\Code\Environment\DEV\properties\build.properties
M svn_promote_WP\Code\Environment\RT\properties\build.properties
? svn_promote_WP\props.pl
这是我的脚本:
#!/usr/bin/sh
meta_data=(`svn st svn_promote_WP | cut -c1`)
meta_files=(`svn st svn_promote_WP | awk '$1~/^[AMD?]$/{for(i=2;i<=NF;i++)print $i}'`)
for index in ${!meta_data[*]}
do
if [ ${meta_data[$index]} = "?" ]; then
echo "${meta_files[$index]} need to be added"
elif [ ${meta_data[$index]} = "M" ]; then
echo "${meta_files[$index]} are modified"
fi
done
输出:
svn_promote_WP\Code\Environment\DEV\properties\build.properties are modified
svn_promote_WP\Code\Environment\RT\properties\build.properties are modified
所需的输出:
svn_promote_WP\Code\Environment\DEV\properties\build.properties are modified
svn_promote_WP\Code\Environment\RT\properties\build.properties are modified
svn_promote_WP\props.pl need to be added
更新的详细信息 - 结果时,在命令行上运行:
$ svn st svn_promote_WP | cut -c1
M
M
?
$ svn st svn_promote_WP | awk '$1~/^[AMD?]$/{for(i=2;i<=NF;i++)print $i}'
svn_promote_WP\Code\Environment\DEV\properties\build.properties
svn_promote_WP\Code\Environment\RT\properties\build.properties
svn_promote_WP\props.pl
没有工作。对于仅修改的文件,我得到的结果相同,但不是测试条件。 – iaav
是的,实际上,我无法重现任何错误行为。所以也许你想更多地讲述这件事。但是,引号不应该被忽略。 – Alfe
我发现很奇怪的是,你用了一个名为'/ usr/bin/sh'的shell,但是提出的代码是'bash'语法(并且用'bash'标记了这个问题)。 – Alfe