に続い命令するが、私のビルドコマンドのいずれかがある:パイプstdoutに出力し、変数
xcodebuild -scheme "<myscheme>" archive
私は.dSYM
ファイル
code=$(cat <<-'CODE'
$lines = file("php://stdin");
foreach($lines as $line){
if(preg_match("#Touch (.*dSYM)#",$line,$m))echo "$m[1]\n";
}
CODE
)
dsym=$(xcodebuild -scheme "<myscheme>" archive | php -r "$code")
を取得する必要があります
これは動作します。しかし、私の問題があり、私はstdout
とphp -r "$code"
xcodebuild -scheme "<myscheme>" archive | tee >(php -r "$code" --)
これはまた、ビルドログのショーを動作し、私はphp -r "$code" -- | cat
からphp -r "$code" --
を変更した場合、それは.dSYM
ファイルの場所をログにパイプさxcodebuild
のログを希望します。
しかし、以下では動作しません:
xcodebuild -scheme "<myscheme>" archive | tee >(dsym=$(php -r "$code" --))
#this one is the closest but is the wrong way around,
#dsym = all the output, the filename is sent to stdout
exec 5>&1
dsym=$(xcodebuild -scheme "<myscheme>" archive | tee >(php -r "$code" >&5))
を私はどのように
read -u X dsym
作品や仕事ができることを意図しているのまわりで私の頭を取得することができません。私は行くだろうか誰か知っています:
- パイピング中間プログラム/スクリプト(
grep
) - 変数 に上記中間プログラム/スクリプトの出力を保存する
- 配管にすべての出力をstdoutにすべての出力を
テストするには:ファイルscheme.out
を保存し、でxcodebuild...
を置き換えます
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus nibh
nulla, tempor nec dolor ac, eleifend imperdiet diam. Mauris tristique
congue condimentum. Nullam commodo erat fringilla vestibulum tempus.
Aenean mattis varius erat in venenatis. Donec eu tellus urna. Morbi
lacinia vulputate purus, eu egestas tortor varius eget. Curabitur
vitae commodo elit, vitae ullamcorper leo.
Touch some_test_dsym_file.dSYM
Nunc malesuada, nisi at ultricies lobortis, odio diam rhoncus urna,
sed scelerisque enim ipsum eget quam. Nunc ut iaculis sem. Pellentesque
massa odio, sodales nec lacinia nec, rutrum eu neque. Aenean quis neque
magna. Nam quis dictum quam. Proin ut libero tortor. Class aptent taciti
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
Vivamus vehicula fringilla consequat. Curabitur tincidunt est sed magna
congue tristique. Maecenas aliquam nibh eget pellentesque pellentesque.
Quisque gravida cursus neque sed interdum. Proin ornare dapibus
dignissim.
所望の出力echo $dsym
some_test_dsym_file.dSYM
に注意すること:xcodebuildは、何か問題が起こった場合にハングアップする傾向があると私は出力が上に表示される必要があるので、私はxcodebuild' 'の出力を保存することはできませんフライ – Isaac