GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je exécuter correctement des scripts de ligne de commande Perl one liner?

Essayez :

#!/usr/bin/perl
# This is a comment ~~~
# This script will be run as a Perl script
# since 'perl' isn't a keyword or function in Perl
# something like this must fail:
#
# perl -e 'print "Hello";' 
#
# The following should work.

print "Hello"; print " World\n";

Ou, si vous voulez que votre script shell exécute du code Perl :

#!/bin/sh
# That's a Bash script ~~~
# It's just a command line in a file ...    

perl -e 'print "Hello World";' 

Arrière-plan :#! est une directive d'interprétation.

Lorsque la commande est exécutée, elle est convertie en une exécution de l'interpréteur.


perl n'est pas une commande valide dans un script Perl. Si vous aviez nommé ce fichier en tant que script .sh et utilisé #!/bin/bash sur la ligne shebang, cela aurait fonctionné, mais cela n'a pas vraiment de sens d'écrire un fichier bash juste pour invoquer Perl (pourquoi ne pas invoquer directement Perl ?)

Puisque vous avez mentionné que vous voulez interagir avec la ligne de commande, je mentionnerai ici que vous pouvez accéder aux options de ligne de commande dans Perl via le @ARGV déployer. (Voir perldoc perlvar.)


Linux
  1. Comment puis-je exécuter un script Perl en tant que démon système sous Linux ?

  2. Comment installer un script pour qu'il s'exécute n'importe où à partir de la ligne de commande ?

  3. Comment puis-je exécuter du code PHP à partir de la ligne de commande ?

  4. Comment puis-je fournir un mot de passe SSH à SVN sur la ligne de commande ?

  5. Comment exécuter une commande après la fin d'une commande existante déjà en cours d'exécution ?

Comment exécuter plusieurs commandes Linux en une seule commande

Exécuter des scripts Perl/PHP à partir de la ligne de commande

Comment lire les arguments de ligne de commande dans les scripts shell ?

Comment puis-je créer un fichier avec une taille spécifique à partir d'une ligne de commande ?

Comment puis-je exécuter une commande après le démarrage ?

Comment exécuter correctement la commande top via SSH ?