Come incollare automaticamente sopra il valore restituito sulla riga di comando

3

Sto cercando di creare uno script molto semplice (.com) cambierà sostanzialmente il mio indirizzo mac .. so che il comando: openssl rand -hex 6 | sed 's/\(..\)/:/g; s/.$//' mi restituirà un numero esadecimale casuale, ora voglio che quando eseguirà questa riga sudo ifconfig en0 ether ## il tag hash sostituirà le cifre esadecimali casuali che restituito sopra.

grazie, Mendel

    
posta Mendel 08.08.2018 - 01:49
fonte

1 risposta

1

Sono sicuro che questo non è esattamente il modo più elegante per farlo, ma quanto segue funzionerà:

MAC="$( openssl rand -hex 6 | sed 's/\(..\)/:/g; s/.$//' )" && sudo ifconfig en0 ether $MAC

Quanto sopra è come puoi farlo in un singolo comando. Fa uso delle variabili di bash. La prima parte assegna il vairable MAC all'output del tuo comando di randomizzazione, quindi la seconda parte inserisce questo output dove desideri facendo riferimento a $MAC . Se stai cercando di integrarlo in uno script bash, puoi modificarlo leggermente come di seguito; che fa esattamente la stessa cosa solo su più righe:

#! /bin/bash

MAC="$( openssl rand -hex 6 | sed 's/\(..\)/:/g; s/.$//' )" 

sudo ifconfig en0 ether $MAC

Spero che ti aiuti!

Cordiali saluti, Tom

    
risposta data 08.08.2018 - 02:06
fonte

Leggi altre domande sui tag