Penggunaan skrip awk

0

di mana file perintah program awk ditempatkan ketika saya mencoba menjalankan perintah awk di dalam skrip shell? Saya kira itu harus di direktori yang sama, tetapi tidak yakin. Tolong bantu.

Vaibhav
sumber

Jawaban:

2

Jika Anda mencoba menjalankan perintah awk dari skrip shell, maka perintah awk harus berada di dalam PATH yang digunakan oleh file skrip. Cara termudah untuk memastikan bahwa ini adalah masalahnya (dan juga untuk memastikan bahwa skrip tidak salah mengambil hal-hal di lingkungan pengguna adalah dengan mengatur sendiri PATh di bagian atas file skrip). misalnya:

PATH = / usr / bin: / bin: / usr / local / bin

awk umumnya akan diinstal pada level sistem menjadi salah satunya. Jika awk hanya di direktori yang sama dengan skrip, maka awk tidak akan diambil kecuali direktori itu ada di path, atau "." ada di PATH dan Anda menjalankan skrip dari direktori di mana ia berada.

cbz
sumber
Hard-coding jalur dalam skrip shell dapat menyebabkan masalah di mana direktori "bin" dan "sbin" lainnya mungkin diabaikan. Sebagai contoh, di NetBSD di mana sistem paket (pkgsrc) digunakan, jalur yang Anda sarankan tidak menyertakan direktori / usr / pkg / bin / atau / usr / pkg / sbin /.
Randolf Richardson
1
Nah - dalam hal ini Anda harus membuat hard code dengan tepat. Mengandalkan PATH yang ditetapkan pengguna lebih buruk - Anda tidak memiliki jaminan bahwa itu benar, dan Anda juga membuka lubang yang dapat digunakan oleh perangkat lunak berbahaya di suatu tempat yang bukan standar pada sistem. Script harus menyertakan ketergantungannya sendiri, jika tidak pengalaman pengguna tidak dapat diprediksi.
cbz
0

Jika ada di direktori kerja saat ini, maka gunakan "./awk" bukan "awk" untuk perintah. Biasanya di Unix / Linux akan berada di jalur.

Randolf Richardson
sumber