GNU/Linux >> Linux Esercitazione >  >> Linux

Gli spazi/lo sfondo vuoti in un terminale possono essere sostituiti con uno schema casuale (ma carino) di caratteri Ascii?

Contesto e domanda

Esistono molti modi per colorare l'ambiente del terminale e della shell. L'output di singoli comandi, come ls e grep , può anche essere colorato. Non direttamente correlato, ma comunque interessante è l'idea di riprodurre file multimediali sulla console, ma apparentemente si basa su alcuni framework (librerie) in cima al sistema di finestre. La seguente domanda è rivolta esclusivamente al bash shell e la sua implementazione nel framework del terminale Linux e le sue basi.

Considera il seguente montaggio di "rendering" ASCII di una scena in un gioco 2D:

Queste non sono scene generate casualmente. I segmenti che ho selezionato rappresentano tutti in realtà una qualche forma di terreno "prato" (alberi, cespugli e arbusti, fiori, erba ecc.) Da un gioco che utilizza caratteri ASCII per rappresentare tali oggetti. Le ultime 4 scene mostrano set di riquadri realizzati dagli utenti che sono fondamentalmente una rimappa di caratteri ASCII con specifiche di colore (tali dettagli sono banali – basti dire che questa è l'ispirazione visiva per ciò che sto cercando di realizzare qui in termini di immagini e " modello").

Le caratteristiche comuni di quelle scene nel montaggio sono:

  • 5-6 caratteri ASCII diversi al massimo (virgole, virgolette e pochi altri)
  • 2-4 colori utilizzati
    • per i personaggi
    • per gli sfondi dei personaggi in alcuni casi:l'ultimo esempio serve per mostrare l'uso di sfumature di colore con poco o nessun carattere per creare un motivo, ad esempio un mosaico di colori

Quello che ho in una macchina virtuale al momento è Arch Linux e sebbene la domanda non sia specifica della distribuzione, ho esaminato la loro documentazione per personalizzare il /etc/bash.bashrc file. Vedo che molte spiegazioni vanno nella configurazione dell'aspetto del prompt e in generale di tutti gli elementi in primo piano. Ci sono poche informazioni su qualsiasi configurazione per lo sfondo, ad eccezione di solito per un colore solido, come queste impostazioni e suggerimenti:

# Background
On_Black='e[40m'       # Black
On_Red='e[41m'         # Red
On_Green='e[42m'       # Green
On_Yellow='e[43m'      # Yellow
On_Blue='e[44m'        # Blue
On_Purple='e[45m'      # Purple
On_Cyan='e[46m'        # Cyan
On_White='e[47m'       # White

Continuo a non capire concettualmente quali sono quegli “spazi” vuoti/vuoti/di sfondo che non ho digitato quando uso la console, ad esempio “di cosa sono fatti?” per così dire. Soprattutto quelli che non sono al prompt e che avvolgono i comandi che vengono ripetuti. Rispetto a quanto accade sulla linea attiva, è possibile dimostrare che bash agisce in modo "orientato alla riga" e che alcune operazioni attivano una cancellazione della riga attiva (for i in $(seq 1 $(expr $(tput lines) * $(tput cols))); do echo -n M; done; tput cup 15 1 , quindi al prompt digitare un carattere e tornare indietro - ha dimostrato un collaboratore) - la cui estensione può variare da una CLI a un'altra, ad esempio zsh. Inoltre, sembra che quando aggiungo qualcosa come [

Linux
  1. 3 cose utili che puoi fare con lo strumento IP in Linux

  2. Contando i caratteri di ogni riga con Wc?

  3. Come posso contare il numero di caratteri in una variabile Bash

  4. Trova file con caratteri di Windows illegali nel nome su Linux

  5. Come posso installare l'ultimo Anaconda con wget

Fissa una visita con lo psichiatra Emacs

Dai un tocco di colore al tuo terminale Linux con lolcat

Esegui ASCII Globe nel terminale con l'utility globe-cli

Come lavorare con il processo in primo piano e in background in Linux

Converti le schede in spazi nel terminale Linux con il comando Espandi

Usare il comando tr in Linux per giocare con i personaggi