0

现在 ia 有一个工作脚本可以将 2 个参数传递给 shell 脚本。该脚本基本上将ticket#和svn URL作为命令行参数,并给出与ticket#相关的所有已更改修订的输出(在svn注释中)。

#!/bin/sh

jira_ticket=$1
src_url=$2


revs=(`svn log $2 --stop-on-copy | grep -B 2 $1 | grep "^r" | cut -d"r" -f2 | cut -d" " -f1| sort`)

for revisions in ${!revs[*]}
    do
    printf "%s %s\n" ${revs[$revisions]}
done

输出:

4738
4739
4743
4744
4745

我需要一些帮助来传递一组参数 - 意味着不止一张票#,并给出与作为参数传递给脚本的票号相关的修订输出。

4

1 回答 1

0

我不认为 POSIX shell 有数组,所以要简单明了并使用#!/bin/bash

我会将 url 作为第一个参数,所有重置都是门票

#!/bin/bash
revs=()
src_url=$1
svn_log=$(svn log "$src_url" --stop-on-copy)
shift
for jira_ticket in "$@"; do   
    revs+=( $(grep -B 2 "$jira_ticket" <<< "$svn_log" | grep "^r" | cut -d"r" -f2 | cut -d" " -f1) )
done
for revisions in $( printf "%s\n" "${!revs[@]}" | sort )
    do
    printf "%s %s\n" ${revs[$revisions]}
done
于 2013-05-14T00:49:25.103 回答