腳本不適用於「?」案件。當我直接在命令行中運行...工作正常但在腳本中無法運行「?」條件。顛覆文件的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