at
Bir 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?
at
Bir 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:
Linux altında, at
her zaman /bin/sh
favori 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/sh
komut 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 at
ilgisiz iletiyi yok sayın.
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
#!/bin/sh
....?
#!/usr/bin/perl
zaten senaryomda shebang ama uyarı alıyorum