マイコンピュータでは、このコマンドはmysql -e "show databases"
次の出力を生成します。
$ mysql -e "show databases
+--------------------+
| Database |
+--------------------+
| information_schema |
| database1 |
| database2 |
| mysql |
| performance_schema |
| sys |
+--------------------+
ただし、これを任意のコマンドに渡すかファイルにリダイレクトすると、書式は消えます。
$ mysql -e "show databases" | cat
Database
information_schema
database1
database2
mysql
performance_schema
sys
私はフォーマットがstderrを介して行われると思いましたが、そうではありません。
$ mysql -e "show databases" 2>/dev/null
+--------------------+
| Database |
+--------------------+
| information_schema |
| database1 |
| database2 |
| mysql |
| performance_schema |
| sys |
+--------------------+
書式設定文字がパイプを通過できないのはなぜですか?この動作を変更できますか?
答え1
MySQLは、パイプが標準出力から別のアプリケーションに変更されると、出力[形式]を変更します。
この形式を維持するには、--table
オプションを使用するか、--tabbed
またはを使用します--vertical
。