0 votes

Commande shell ne fonctionne plus

Je suis sur un MacBook Pro M1 avec macOS 12.3.1. J'avais quelques AppleScripts qui exécutaient un script shell sans problème depuis de nombreuses années. Pour une raison inconnue, ils ont cessé de fonctionner aujourd'hui - rien n'a changé que je sache.

Voici le script shell que j'essaie d'exécuter :

cd 'Users/jsmith/Backup Testing'; /usr/bin/zip -r '/Volumes/Backups/ Projects/12052022 181915.zip' 'Databases'

qui renvoie l'erreur suivante lorsque je l'exécute manuellement dans l'application Terminal :

cd: no such file or directory: Users/jsmith/Backup Testing
zip warning: name not matched: Databases

Je ne vois pas ce qui a changé ici pour causer cela car cela fonctionnait parfaitement il y a quelques jours et ce n'est plus le cas aujourd'hui et je n'ai pas installé de nouveau logiciel dont je me souvienne ces derniers jours.

Les chemins d'accès aux dossiers sont corrects et je les ai vérifiés de nombreuses fois, donc le dossier Databases et le dossier parent existent certainement ici.

6 votes

Vous avez besoin d'une barre oblique avant Utilisateurs.

0 votes

Est-ce que cela fonctionne lorsque vous ouvrez un terminal et exécutez les commandes manuellement ? Avez-vous apporté des modifications dans votre répertoire personnel ? Oui, votre script a démarré en tant que root ou un autre utilisateur ?

2 votes

Vous parlez d'un Applescript exécutant un script shell, mais vous montrez ensuite simplement deux commandes shell. Pouvez-vous fournir un contexte ici, par exemple montrer la partie pertinente de l'AppleScript qui appelle le shell ici ?

1voto

Adrian Sarli Points 867

Ajouter une barre oblique avant Users a résolu ce problème pour moi. Étrangement, cela avait fonctionné sans problème pendant de nombreuses années, alors je suis toujours perplexe quant à la raison pour laquelle cela a cessé de fonctionner. Le script AppleScript se contentait simplement d'appeler do shell script myScriptName

3 votes

Le répertoire de travail d'un script est généralement imprévisible, il est donc généralement déconseillé d'utiliser des chemins relatifs (ceux qui ne commencent pas par "/"). Apparemment, la méthode que vous avez utilisée pour l'exécuter avec / (la racine du système de fichiers) comme répertoire de travail, mais cela a changé. Je ne sais pas pourquoi il était censé être / ou pourquoi cela a changé, mais je peux vous dire que des problèmes comme celui-ci sont la raison pour laquelle les chemins relatifs sont une mauvaise idée.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X