Saya mencoba menggunakan at
dari dalam skrip saya dan mencetak:
peringatan: perintah akan dieksekusi menggunakan / bin / sh
Bagaimana saya menggunakan shell yang berbeda jika saya mau?
Di Linux, at
selalu memperingatkan Anda bahwa ia akan menjalankan perintah yang ditentukan dengan /bin/sh
, daripada shell favorit Anda. Anda tidak dapat menekan pesan ini, ini tersandi dalam kode sumber.
Perintah yang Anda lewati ditafsirkan oleh /bin/sh
. Perintah ini bisa menjadi jalan menuju skrip jika Anda suka; kemudian /bin/sh
akan menjalankan program skrip, menyebabkan penerjemah skrip diluncurkan dan menafsirkan skrip tersebut. Bahasa skrip benar-benar independen dari program yang memulainya. Jadi jika misalnya Anda ingin menjalankan skrip bash (yaitu skrip yang dimulai dengan #!/bin/bash
), cukup lewati path ke skrip tersebut at
dan abaikan pesan yang tidak relevan.
Anda dapat menjalankannya dari shell yang berbeda dengan mengubah script shebang . Beberapa garis shebang yang khas:
#!/bin/sh — Execute the file using sh, the Bourne shell, or a compatible shell #!/bin/csh -f — Execute the file using csh, the C shell, #!/usr/bin/perl -T — Execute using Perl with the option for taint checks #!/usr/bin/php — Execute the file using the PHP command line interpreter #!/usr/bin/python -O — Execute using Python with optimizations to code #!/usr/bin/ruby — Execute using Ruby
Untuk menjalankan skrip pada waktu tertentu, saya sarankan Anda menambahkan cronjob
Contoh:
Baris berikut membuat program pengguna test.pl - seolah-olah skrip Perl - dijalankan setiap dua jam, pada tengah malam, 02:00, 04:00, 06:00, 8:00, dan seterusnya:
0 * / 2 * * * /home/username/test.pl
#!/usr/bin/perl
sudah menjadi shebang dalam skrip saya tapi saya mendapat peringatan#!/bin/sh
....?