0

現在、2 つの引数をシェル スクリプトに渡す作業スクリプトがあります。このスクリプトは基本的に、コマンド ラインで 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シェルには配列があるとは思わないので、プレーンにして使用してください#!/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 に答える