“ReadOnly” et autres symboles introuvables lors de l’exécution du script shell à distance

J’ai un script shell simple ci-dessous:

#!/bin/bash # Hadoop Clear readOnly hadoop = /opt/hadoop/bin/hadoop hadoop fs -rm -r / 

Lorsque je lance le script dans le terminal de la même machine, tout fonctionne sans erreur. Maintenant, je veux appeler ce script à distance. Donc, à partir de mon programme java , je fais un ssh sur le serveur et appelle le script sous la forme: sh .

J’ai une erreur en disant:

 clearHadoop.sh: readOnly: not found clearHadoop.sh: hadoop not found 

Une idée pourquoi cela se produit?

readonly est un mot-clé bash, pas readOnly .

Cela ressemble à l’ajout du chemin d’access à hadoop dans $PATH dans un fichier d’initialisation du shell qui n’affecte que les sessions interactives (et donc les sessions distantes).

Aussi sh n’est pas /bin/bash . Si vous voulez bash utilisez bash et non sh .

Il y a une faute de frappe dans votre ligne readOnly. Au moins les bash que je viens d’essayer se sont plaints de lire O nly