J'ai un script shell comme celui-ci.erreur de script shell
line="[email protected]" # get the complete first line which is the complete script path
name_of_file = ${line%.*}
file_extension = ${line##*.}
if [ $file_extension == "php"]
then
ps aux | grep -v grep | grep -q "$line" || (nohup php -f "$line" > /var/log/iphorex/$name_of_file.log &)
fi
if [ $file_extension == "java"]
then
ps aux | grep -v grep | grep -q "$line" || (nohup java -f "$name_of_file" > /var/log/iphorex/$name_of_file.log &)
fi
ici variable ligne a des valeurs comme /var/www/dir/myphp.php
ou /var/www/dir/myjava.java
.
Le but du script shell est de vérifier si ces processus sont déjà en cours d'exécution et sinon j'essaie de les exécuter.J'ai les erreurs suivantes.
name_of_file: command not found
file_extension: command not found
[: missing `]'
[: missing `]'
Des idées?
Pour les questions de support dont vous avez besoin d'espace entre la citation à proximité ' "' et le crochet de fermeture ']' comme le suivant ... '" php "]' –
Quel shell? Le script commence par un '#! '? – nmichaels
puis-je obtenir 'nom_du_fichier: command not found file_extension: command not found [: ==: opérateur unaire attendu [: ==: opérateur unaire expected' – ayush