`At` neden komutların / bin / sh kullanılarak yürütüleceği konusunda beni uyarıyor? Farklı bir kabuk istersem ne olur?


12

atBir senaryomun içinde kullanmaya çalıştım ve yazdırıyor:

uyarı: komutlar / bin / sh kullanılarak yürütülür

İstersem farklı kabuğu nasıl kullanırım?

Yanıtlar:


14

Linux altında, ather zaman /bin/shfavori kabuğunuzdan ziyade belirtilen komutları yürüteceği konusunda sizi uyarır . Bu mesajı gizleyemezsiniz, kaynak kodunda sabit olarak kodlanmıştır.

İletdiğiniz komut yorumlanır /bin/sh. Bu komut isterseniz bir komut dosyasının yolu olabilir; daha sonra /bin/shkomut dosyası programını çalıştırarak komut dosyasının yorumlayıcısının başlatılmasına ve komut dosyasının yorumlanmasına neden olur. Betiğin dili, onu başlatan programdan tamamen bağımsızdır. Örneğin, bir bash betiği (örn. İle başlayan bir betik #!/bin/bash) yürütmek istiyorsanız , betiğin yolunu geçip atilgisiz iletiyi yok sayın.


4

sen-si olmak-e farklı bir kabuktan komut dosyası shebang çalışan bunu başarabilirsiniz . Bazı tipik shebang hatları:

#!/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

Belirli zamanlarda komut dosyası çalıştırmak için bir cronjob eklemenizi öneririm

Misal:

Aşağıdaki satır, test.pl (görünüşte bir Perl betiği) kullanıcı programını gece yarısında, gece yarısında, saat 02:00, 04:00, 06:00, 08:00 ve benzeri saatlerde çalıştırır:

0 * / 2 * * * / ev / kullanıcı adı / test.pl


#!/usr/bin/perlzaten senaryomda shebang ama uyarı alıyorum
Cratylus

@ Cratylus açıklama için buraya bakınız .
vfbsilva

+1 şut ve yakut ve perl'den bahsediyoruz. Ayrıca, "#! / Bin / env ruby" kullanmayı düşünün.
ChuckCottrill

benim hala şikayet sonra #!/bin/sh....?
kasvetli. Penguen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.