Saya mencoba untuk melakukan pernyataan IF dari output dari perintah yang dieksekusi. Inilah cara saya mencoba melakukannya, tetapi tidak berhasil. Adakah yang tahu cara yang tepat untuk melakukan ini?
if [ "`netstat -lnp | grep ':8080'`" == *java* ]; then
echo "Found a Tomcat!"
fi
bash
shell
text-processing
netstat
Djangofan
sumber
sumber
-q
opsi untuk grep alih-alih mengarahkan ke / dev / null. Dengan-q
, grep tidak menghasilkan apa pun dan berhenti mencari setelah pertandingan pertama.Lebih sederhana lagi,
Jika Anda hanya ingin melakukan satu hal.
sumber
Anda dapat melakukan lebih tepat, namun sederhana, cocok dengan awk.
Untuk mencocokkan struktur perintah Anda lebih dekat, cara portabel melakukan pencocokan wildcard pada string di shell adalah dengan
case
konstruk.sumber
Contoh dunia nyata lain :)
sumber
HEAD
harus dilakukan Apakah itu fungsi khusus atau alias di sistem Anda?usr/bin/HEAD → lwp-request
. Dan permintaan lwp tampaknya adalah yang ini . Tidak yakin, bagaimana saya sampai di sana (tidak secara manual pasti), jika semuanya ada di sana secara default. Ada tampaknya menjadi huruf kecilusr/bin/head
juga .