私は今、私はbash
のすべてのバージョン情報を確認するためにwhich -a bash | xargs -I % echo % "--version" | sh
を使用することができますなどbash
を含める私のMacOSのシエラ、coreutils
、which
、上のいくつかのGNUパッケージをインストールしているが、二つのバージョン情報との間には分離はありません。1行複数コマンドの出力を分割するにはどうすればよいですか?
$ which -a bash | xargs -I % echo % "--version" | sh
GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.3.0)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
# There should be one or more blank lines as separation.
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin16)
Copyright (C) 2007 Free Software Foundation, Inc.
私は... echo -e % "--version\n" ...
を試しましたが、動作しません。ありがとう、ありがとう。出力のビットより多くの制御のために
一般的に言えば、 'echo -e'は避けてください。 http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.htmlの '' echo'のPOSIX仕様を参照してください。特に、*実装はオプションをサポートしていません*。 '-n'は明示的に許可されていますが(必須ではありませんが、後ほどその文書を参照してください)、それ以外は仕様違反です。したがって、bash *は、コンパイル時オプションと実行時オプションがそれを準拠するように設定するかどうかによって、 'echo -e'をサポートするかどうか*サポートしません。 printfから同等の動作を得るための議論については、標準のアプリケーション使用法の節を参照してください。 –