bash partendo -v opzione produce una lunga uscita alla consoleÈ possibile reindirizzare l'output di bash -v?
$ bash -v
source ~/Dropbox/bin/tim_functions.sh
\#!/bin/bash
...several hundred more lines
Vorrei catturare l'output in un file per rendere più facile da sfogliare, ma ho cercato bash -v 2>&1 > out_bash.txt
e bash -v | tee out_bash.txt
e non riesco a catturare le informazioni sullo schermo del terminale all'interno di un file. È come se l'output dettagliato non fosse né stderr né stdout. Come può essere?
Qualcuno può suggerire un modo per acquisire l'output di bash -v?
ho provato il tuo suggerimento, ma senza fortuna - ancora non cattura le informazioni. Sembra che l'output di bash -v sia correlato alle informazioni di debug. E le informazioni di debug non sembrano essere né stderr né stdout. Sto iniziando a pensare che non possa essere reindirizzato dal terminale. – Tim
Bash non è magico; qualsiasi cosa inviata al tuo tty è uscita dalla chiamata 'write()' (o equivalente) da * somewhere *. Quello che potrebbe accadere è che la shell interattiva stia producendo l'output, mentre il reindirizzamento può essere applicato solo ai processi figli generati. Questo è il motivo per cui ho pensato che il wrapping di un livello e il sollevamento del reindirizzamento potrebbero funzionare .. – phs
Ma quando sei in una sessione di bash ed esegui bash -v, questo genera un processo figlio (la nuova sessione di bash). Quindi, a meno che il processo genitore non stia effettuando le chiamate write() per le informazioni di debug del bambino, piuttosto che il processo figlio che chiama write() stesso, sembra ancora che le informazioni sul terminale debbano essere reindirizzate. Ma forse è così che vengono generate le informazioni di debug: il genitore controlla in qualche modo l'attività del bambino e le relazioni su di esso. – Tim