Windows bash の GIT で「xargs」を使用する

時間

いくつかの素晴らしいコマンド ライン スクリプトを使用して作業を自動化しようとしています。jenkins_cli.shJenkins サーバーと通信するスクリプトが 1 つあり ( )、次のようになります。

cd $1

if [ -z ${JENKINS_CREDENTIALS+x} -o -z ${JENKINS_SERVER+x} ]
  then
    JENKINS_SERVER=$(<jenkins_url.txt)
    JENKINS_CREDENTIALS=$(<credentials.txt)
fi

java -jar jenkins-cli.jar -s $JENKINS_SERVER -auth $JENKINS_CREDENTIALS ${@:2}

これはうまくいきます。

たとえば、電話をかける./jenkins_cli.sh localhost/ list-jobsと、ローカルの Jenkins サーバーで現在実行中のジョブのリストが取得されます。ただし、もっと凝ったことをしようとすると (たとえば./jenkins_cli.sh localhost/ list-jobs | xargs -L1 ./jenkins-cli localhost/ delete-job、次のエラーが表示されます: 'RROR: No such job 'test_job. ジョブtest_job 存在ます。ジョブ存在'test_job しません。'コマンドでこのキャラクターはどのようになりますか?

これは、Windows 用の GIT に同梱されている bash を使用していること、または改行の処理方法、またはスクリプトなどでパラメーターを処理する方法と関係があると推測しています。実行する./jenkins_cli.sh localhost/ list-jobs | xargs -L1 echoと、期待どおりの結果が得られます。引用符なしで..これをさらにデバッグする方法が本当にわかりません。ジョブ リストをファイルに書き込んでから各行を読み取ってカスタム スクリプトに渡すというこの問題の解決策がありますが、実際には次のように実装したいと思いますxargs:)

ロドリゴ

jenkinsコマンドからの出力が DOS の行末スタイル ( \r\n) を使用していることに問題があると思いますが、git シェル コマンドは古典的な UNIX の行末スタイル ( \n) を想定しています

問題は、行末でxargs迷子\rを特殊文字見なし、それらをエスケープしようとすることです。しかし、その後、すべてがうまくいけ場合でも、次のコマンドの引数はなりませんtest_jobが、test_job\r\r目に見えないかもしれません)。

簡単な解決策は次を使用することdos2unixです。

java -jar jenkins-cli.jar -s $JENKINS_SERVER -auth $JENKINS_CREDENTIALS ${@:2} | dos2unix

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Visual Studio Code:Git Bashを使用する(Windows)

分類Dev

Windows用のGit、minttyなしでgit bashを実行しますか?

分類Dev

Windows7でgit-bashを使用してファイルのアクセス許可を更新する

分類Dev

Windows上のファイルから手動でgitツリーを作成する(Git Bash)

分類Dev

WindowsのGit Bashでエイリアスを設定するにはどうすればよいですか?

分類Dev

Git bashの代わりに、VSCodeでWindowsの組み込みOpenSSHssh-agentを使用するにはどうすればよいですか?

分類Dev

WindowsでGIT Bashを使用して.txtファイル内の単語のすべての出現を検索する

分類Dev

xargsを使用するとbash変数が消えるのはなぜですか?

分類Dev

Windowsのgit-bashに「tree」コマンドを追加するにはどうすればよいですか?

分類Dev

Git BashのWindowsインストールで〜ディレクトリの場所を変更する

分類Dev

Windows&Git Bash:Windows%PATH%システム変数を読み取るためのBash PATH

分類Dev

Windowsのbash用のgitのCLIからすべてのgit資格情報をクリアします

分類Dev

Windowsで同等のBash "*"?

分類Dev

WindowsでGit Bashを使用して.gzファイルを解凍する方法は?

分類Dev

Windowsのgit-bash.exeとsh.exeの違いは何ですか?

分類Dev

Git for Windows:Git \ bin \ bash.exeとGit \ usr \ bin \ bash.exeの違い

分類Dev

Renaming a file in Git Bash on Windows

分類Dev

WindowsのbashでKestrelを実行する

分類Dev

Windows10のUbuntuでBashでCmderを使用する

分類Dev

Gitの状況はWindowsのbashとWindowsのコマンドラインで異なります

分類Dev

JenkinsのWindowsシェルを変更します(CygwinからGit Bash / msysに)

分類Dev

Git for WindowsでGit Bashのディレクトリを変更するにはどうすればよいですか?

分類Dev

Git-Bash for Windowsの「rm」はどのように機能しますか?

分類Dev

Windows用のgitbashがすでにインストールされているWindows10上のUbuntuのBashにgitをインストールしますか?

分類Dev

パイプはWindows用のgitのbashで空の文字列を返しています

分類Dev

Windows上のUbuntuでBashを使用するGo用AppEngine SDK

分類Dev

Windowsのbashでstartコマンドを使用する方法

分類Dev

Windowsのbashで「rm-rf--no-preserve-root」を使用する方法

分類Dev

gitエイリアス(Windowsではgit-bash)のアップストリームの中括弧@ {u}をエスケープする方法は?[更新しました]

Related 関連記事

  1. 1

    Visual Studio Code:Git Bashを使用する(Windows)

  2. 2

    Windows用のGit、minttyなしでgit bashを実行しますか?

  3. 3

    Windows7でgit-bashを使用してファイルのアクセス許可を更新する

  4. 4

    Windows上のファイルから手動でgitツリーを作成する(Git Bash)

  5. 5

    WindowsのGit Bashでエイリアスを設定するにはどうすればよいですか?

  6. 6

    Git bashの代わりに、VSCodeでWindowsの組み込みOpenSSHssh-agentを使用するにはどうすればよいですか?

  7. 7

    WindowsでGIT Bashを使用して.txtファイル内の単語のすべての出現を検索する

  8. 8

    xargsを使用するとbash変数が消えるのはなぜですか?

  9. 9

    Windowsのgit-bashに「tree」コマンドを追加するにはどうすればよいですか?

  10. 10

    Git BashのWindowsインストールで〜ディレクトリの場所を変更する

  11. 11

    Windows&Git Bash:Windows%PATH%システム変数を読み取るためのBash PATH

  12. 12

    Windowsのbash用のgitのCLIからすべてのgit資格情報をクリアします

  13. 13

    Windowsで同等のBash "*"?

  14. 14

    WindowsでGit Bashを使用して.gzファイルを解凍する方法は?

  15. 15

    Windowsのgit-bash.exeとsh.exeの違いは何ですか?

  16. 16

    Git for Windows:Git \ bin \ bash.exeとGit \ usr \ bin \ bash.exeの違い

  17. 17

    Renaming a file in Git Bash on Windows

  18. 18

    WindowsのbashでKestrelを実行する

  19. 19

    Windows10のUbuntuでBashでCmderを使用する

  20. 20

    Gitの状況はWindowsのbashとWindowsのコマンドラインで異なります

  21. 21

    JenkinsのWindowsシェルを変更します(CygwinからGit Bash / msysに)

  22. 22

    Git for WindowsでGit Bashのディレクトリを変更するにはどうすればよいですか?

  23. 23

    Git-Bash for Windowsの「rm」はどのように機能しますか?

  24. 24

    Windows用のgitbashがすでにインストールされているWindows10上のUbuntuのBashにgitをインストールしますか?

  25. 25

    パイプはWindows用のgitのbashで空の文字列を返しています

  26. 26

    Windows上のUbuntuでBashを使用するGo用AppEngine SDK

  27. 27

    Windowsのbashでstartコマンドを使用する方法

  28. 28

    Windowsのbashで「rm-rf--no-preserve-root」を使用する方法

  29. 29

    gitエイリアス(Windowsではgit-bash)のアップストリームの中括弧@ {u}をエスケープする方法は?[更新しました]

ホットタグ

アーカイブ