Akhir-akhir ini ada kecenderungan oleh alat-alat baris perintah untuk menggunakan warna ANSI yang mewah dalam output log mereka (misalnya, NPM dan sejumlah alat berbasis nodejs, rvm, buruh pelabuhan, dan beberapa alat "modern" lainnya).
Ini membuatnya enak dibaca di layar (*), tetapi tidak begitu bagus ketika Anda ingin menyalurkan output ke file log atau melalui transport yang tidak menangani ANSI dengan baik, seperti berbagai alat eksekusi jarak jauh dan solusi pemantauan berbasis web. Banyak alat yang lebih dewasa setidaknya memiliki kesopanan untuk mendeteksi ketika output bukan warna TTY dan nonaktifkan, tetapi tidak dengan CLI "ramah pengguna" baru yang ketinggalan jaman - yang membuat saya mencoba untuk menyingkirkan warna ANSI dengan memipaan output melalui proses lain.
Seding output melalui s/\x1B\[[0-9]*\w//g
tampaknya menyelesaikan pekerjaan, tetapi apakah ada pendekatan yang lebih bersih kemudian hanya menyalin menempelkan ekspresi reguler ke semua skrip saya?
(*) setidaknya sampai alat mencoba menampilkan kesalahan dengan warna merah gelap di terminal latar belakang gelap Anda.
is there a cleaner approach then just copy pasting regular expressions into all of my scripts?
- Simpan filter pembersihan Anda ke file yang disebut '/ usr / local / bin / stripttycolor.sh` atau sesuatu? Dengan begitu Anda memiliki regex terbatas pada satu lokasi?
--no-color
flag. Banyak perintah lain juga memiliki flag serupa.
bower
.