Dengan skrip bash, dapatkah saya membaca alamat mac eth0 saya dan mencetaknya ke file?
linux
shell
ethernet
mac-address
michelemarcon
sumber
sumber
ip
perintah:/sbin/ip link show eth0
.LC_ALL=C ifconfig eth0 | awk '/HWaddr/ {print $NF}'
, karena output mungkin dilokalisasi, tidak cocok dengan 'HWaddr'. LC_ALL = C menggunakan standar internasional.awk '{print $NF; exit}'
begitu saja| head -n 1
kemudian.Inilah metode Linux modern:
Ini modern di yang
ifconfig
telah lama ditinggalkan dalam mendukungip
dariiproute2
paket, dan bahwagrep
memiliki-P
pilihan untuk ekspresi reguler perl untuk nol-lebar positif tampilan-balik penegasan .grep -o
bagus untuk ekstraksi teks.sed
secara tradisional digunakan untuk itu tetapi saya menemukan pernyataan lebar nol gaya perl lebih jelas dari perintah substitusi sed.Anda sebenarnya tidak memerlukan opsi
-o
(oneline)ip
, tetapi saya lebih suka menggunakannya ketika mengekstraksi informasi jaringan karena saya merasa lebih bersih memiliki satu catatan per baris. Jika Anda melakukan pencocokan atau ekstraksi yang lebih rumit (biasanya denganawk
),-o
sangat penting untuk skrip bersih, jadi demi konsistensi dan pola umum, saya selalu menggunakannya.sumber
Ada alat lain yang bisa memotong alamat MAC dari
ifconfig
output, tentu saja. Saya suka Perl.sumber
Menggunakan
ip -br link show eth0
akan mencetak sesuatu seperti ini:Anda hanya perlu kolom ke-3, jadi:
sumber