ディレクトリツリーのすべてのファイルに対してコマンドを実行し、出力を変数に入れます。

ディレクトリツリーのすべてのファイルに対してコマンドを実行し、出力を変数に入れます。

このbashコマンドを実行したいと思います。

#!/bin/bash
rep="*"

for f in `ls -R`$rep; do
d='git log '$f'| wc -l'
c=$d
echo $c
done

git log myFile | wc -lBashでコマンドを実行するには?

ps:このコマンドは数値を返します。git log myFile | wc -l

ベストアンサー1

コマンドを実行して出力を取得するには、次の行を使用します。

d = `gitログ`

スクリプトで2つを変更する必要があります。以下に正しいスクリプトがあります

#!/bin/bash
代表者="*"

for f in `ls -R $rep`;
d=`git log$f|トイレ-l`
c=$d
エコ$c
完璧

編集:元の修正は、出力がd変数に移動するように引用符をバックティックに変更することでした。また、$ repはlsのバックティック内になければなりません。それ以外の場合は、最後に処理されたファイル名の末尾に*が追加されます。

おすすめ記事