我已經安裝在我的MacOS塞拉利昂一些GNU軟件,其中包括bash
,coreutils
,which
,等等。現在我可以用which -a bash | xargs -I % echo % "--version" | sh
檢查的bash
所有版本信息,但之間有兩個版本信息不分離:如何分隔一行多個命令的輸出?
$ 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獲取等同行爲的討論,請參閱標準的APPLICATION USAGE部分。 –