J'ai récemment appris sur les scripts shell, et je suis déconcerté par une erreur bizarre:Shell script cp ne fonctionne pas (mais travaillant dans le terminal) Mac OS X
Mon script simple (test.command):
#!/bin/sh
clear
cd /Users/Stan/Desktop/testFolder
ls
cp "earth.png lol.png"
read -p "Done, press ENTER to finish"
Chaque fois que je lance le script (double-cliquant sur le fichier .command), voici la sortie (copié à partir de la fenêtre de terminal):
earth.png
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
Copy was done...?
earth.png
Done, press ENTER to finish
cp donne toujours une erreur 'd'utilisation', et copie WONT quoi que ce soit, mais maintenant si im exécutez anually les mêmes commandes exactes, pour dans le terminal (copie de fenêtre de terminal):
Stans-Mac-mini:testFolder Stan$ ls
earth.png
Stans-Mac-mini:testFolder Stan$ cp earth.png lol.png
Stans-Mac-mini:testFolder Stan$ ls
earth.png lol.png
Stans-Mac-mini:testFolder Stan$
Le fichier obtenu copié sans aucune erreur! S'il vous plaît aidez-moi à résoudre ce problème, je ne pouvais pas trouver de solutions en ligne, l'aide est grandement appréciée!
Vous devez être auto-cohérent. Dans le script, vous utilisez des guillemets doubles; sur la ligne de commande, vous ne le faites pas. Vous obtenez des résultats différents à cause de cette incohérence. –