Pertanyaan jalankan perl di command line tanpa menentukan perl di UNIX


Ada pertanyaan serupa tentang Windows, tetapi tidak akan berfungsi untuk komputer berbasis Unix (khusus OS X).

Saya ingin mengetikkan nama file, katakan example.pl atau example.pl parametertext.txt, dan sudah tahu untuk mengeksekusi perl.

Saya ditentukan #!/usr/bin/perl dalam file sehingga dapat menemukan file yang dapat dieksekusi. Sebaliknya, saya mendapat pesan:

bash: example.pl: command not found

5
2018-01-25 19:39


asal


Jawaban:


Anda bisa melakukannya dengan cara ini,

  1. Temukan jalur interpreter / eksekutor. Dalam hal ini nya /usr/bin/perl atau /usr/bin/env perl
  2. Tambahkan ke baris pertama file sebagai #!/usr/bin/perl.
  3. Berikan izin eksekusi ke file chmod +x example.pl

Sekarang ini akan berjalan

    $ ./example.pl

11
2018-01-25 19:45



Anda perlu membuat baris teratas ("shebang") #!/usr/bin/perl (perhatikan garis miring di mana Anda memiliki spasi). Kemudian, pertama-tama Anda harus memastikan bahwa itu adalah jalur yang benar untuk Anda perl dapat dieksekusi (ketik which perl untuk melihat di mana itu). Jika di tempat lain, perbaiki jalan dengan tepat. Maka Anda perlu memastikan skrip memiliki set izin eksekusi. Mengetik ls -l example.pl, dan mencari x di kolom pertama (karakter keempat, khususnya). Jika tidak ada, Anda perlu membuat skrip yang dapat dieksekusi chmod a+x example.pl. Akhirnya, untuk menjalankan program, Anda perlu menggunakannya ./example.pl. Itu ./ memberitahu shell Anda bahwa Anda ingin skrip di direktori Anda saat ini.


2
2018-01-25 19:45



Saya memiliki dua pemikiran untuk ditambahkan:

1) Untuk menggunakan example.pl test1.txt, path Anda harus berisi titik. echo $ PATH / usr / bin: / usr / X11R6 / bin: / usr / bin / X11 :.

2) Akhir baris file Anda harus berupa unix, \ n. Setidaknya garis shebang Anda berisi jalur lintasan Anda, berakhir dengan \ n.


1
2018-01-26 13:29