Comment corriger l’erreur « bash : erreur de syntaxe près d’un jeton inattendu »
Bash (Bourne Again Shell) est un programme en ligne de commande qui accepte les commandes fournies et les exécute. Il prend des commandes Linux directement saisies de manière interactive à partir d’un clavier ou d’un fichier de script shell.
Bash est utilisé dans les systèmes Linux et Mac pour exécuter le système et c’est le shell par défaut dans la majorité des distributions Linux modernes telles que Ubuntu, Debian, Fedora, Rocky Linux et AlmaLinux pour n’en citer que quelques-unes.
L’une des erreurs les plus courantes rencontrées par les utilisateurs lors de l’exécution de scripts ou de commandes shell sur le shell bash est « bash : erreur de syntaxe près du jeton inattendu '(' ». Cela peut sembler quelque peu déroutant et vous vous demandez peut-être où vous vous êtes trompé dans l’exécution de la commande.
-bash erreur de syntaxe près d’un jeton inattendu '(' Erreur
L’erreur est principalement attribuée à une opération effectuée sur un fichier dont le nom de fichier est entouré de parenthèses ou de crochets.
Chaque fois que vous utilisez des parenthèses avec des noms de fichiers ou dans des scripts shell, vous DEVEZ TOUJOURS LES ÉCHAPPER. Si vous ne le faites pas, vous risquez de rencontrer ce type d’erreur.
Dans bash, les parenthèses ou les crochets ronds sont considérés comme des caractères spéciaux et, par conséquent, doivent être échappés lors de l’exécution d’opérations sur un fichier telles que la création, la copie, la suppression et le téléchargement d’un fichier.
Prenons un exemple simple et simulons l’erreur. Lorsque vous créez un fichier, par exemple sample_file(données).txt à l’aide de la commande tactile, vous rencontrerez le message d’erreur suivant, comme indiqué.
$ touch sample_file(data).txt
bash: syntax error near unexpected token `('
Passons maintenant à la vitesse supérieure et voyons comment vous pouvez résoudre l’erreur ci-dessus.
Solution 1 : Utiliser une barre oblique inverse pour échapper aux parenthèses
Si vous insistez pour avoir un nom de fichier avec des parenthèses, la solution est de faire précéder chacune des parenthèses d’une barre oblique inverse. Ceci est populairement connu sous le nom d’échappement de la parenthèse et prend le format suivant : \( et\). La barre oblique inverse se trouve juste avant chaque parenthèse.
Dans notre exemple précédent, nous créerions notre fichier comme suit sans aucun problème.
$ touch sample_file\(data\).txt
À partir de la sortie suivante, vous pouvez voir que nous avons réussi à créer le fichier sans aucun problème en échappant les parenthèses.
Le même principe s’applique lors de la copie, de la suppression et du renommage du fichier, comme indiqué ci-dessous.
$ cp sample_file\(data\).txt /tmp/
rm sample_file\(data\).txt
Solution 2 : Inclure le fichier entre guillemets doubles
L’autre alternative consiste à placer le nom entier du fichier entre guillemets doubles. Cette astuce fonctionnera également sans problème.
$ cp "sample_file(data).txt" /tmp
rm "sample_file(data).txt"
L’utilisation des méthodes ci-dessus vous aidera à sortir de cette erreur et à effectuer des opérations de manière transparente sur vos fichiers.
Conclusion
Et voilà ! Dans ce bref guide, nous vous avons montré comment corriger l’erreur « bash : syntax error near unexpected token '(' » sous Linux. Comme vous l’avez vu, la solution est assez simple et directe. Vos commentaires sont les bienvenus.


