Résoudre le problème bin / bash ^ m mauvais interprète pas de tel fichier ou répertoire

Résoudre le problème bin / bash ^ m mauvais interprète pas de tel fichier ou répertoire
Tout en travaillant sur différentes plates-formes de système d'exploitation, nous avons rencontré un paquet d'erreurs, je.e., effectuer un codage ou une installation. Lorsque nous travaillons à Bash, nous pouvons rencontrer des centaines d'erreurs liées aux bash. Vous pourriez croire qu'il y a un problème d'autorisation et tenter d'exécuter l'instruction CHMOD 777 pour donner au fichier de script bash tous les droits, mais cela ne résoudra pas le problème. Il est initié par le retour en voiture «M». Le symbole d'alimentation de ligne est utilisé dans Linux pour indiquer la finition d'une ligne; Pendant ce temps, la combinaison à deux caractères CR LF est utilisée dans Windows. Votre document a des fins de ligne Windows, ce qui fait perplexe Linux. Voyons les solutions pour cela.
$ / bin / bash ^ m: mauvais interprète: aucun fichier ou répertoire de ce type

Dans ce tutoriel, nous examinerons comment résoudre le problème qui se produit lors de l'exécution de bash ou.Fichier Sh sur un environnement Linux. Le pauvre interprète est un autre nom pour cette erreur. Vous pourriez croire qu'il s'agit d'une contrainte d'autorisation et essayez d'utiliser la commande chmod + x pour accorder le fichier de script shell tous les privilèges requis, mais cela ne résoudra pas le problème. Le script spécifie qu'il serait exécuté en utilisant la coque «/ bin / bash ^ m». Il n'y a pas un tel fichier; Au lieu de cela, «/ bin / bash» est utilisé. Le caractère «^ m» signifie retour en voiture.

Le caractère d'alimentation de la ligne est souvent utilisé dans Linux pour indiquer la fin d'une ligne, tandis que la séquence à deux caractères CR / LF est souvent utilisée dans les systèmes d'exploitation de type Windows. Le fichier contient les marqueurs de fins de ligne Windows, ce qui fait perplexe Linux. Dans un fichier de script bash, comment puis-je voir des caractères de codage CR ou LF? Vous pouvez également afficher les caractères de fin de ligne comme LFCR ou LFCR par vue → Afficher le symbole → Afficher la fin de la ligne. Un exemple de fichier avec des caractères CR ou LF est illustré ci-dessous:

Les écrans ci-dessus et ci-dessous ne sont pas disponibles dans l'éditeur de notes de base; Au lieu de cela, vous devez installer un bloc-notes ++, une version avancée du bloc-notes. Pour corriger l'erreur dans le système d'exploitation Windows, ouvrez le fichier de script bash dans l'éditeur Notepad ++, puis accédez à l'onglet Préférences via le menu Paramètres comme ci-dessous. Fermez la fenêtre après avoir choisi Unix / OSX comme format. Ensuite, enregistrez et fermez le fichier.

Préférences → NOUVEAU DOCUMENT / TAB TABLE DÉFAUT → RÉGLAGE → PRÉFÉRENCES → NOUVEAU DOCUMENT / TAB TABLE DÉFAUT → Chose le nouveau format de document →

Utilisation de la commande de l'éditeur de flux

Dans Unix, la commande SED représente un éditeur ligne par ligne, et il peut effectuer un large éventail de procédures de fichiers telles que la numérisation ou la recherche, la recherche et le remplacement, l'insertion et la suppression. La commande SED est le plus souvent utilisée dans les systèmes d'exploitation de type UNIX et Linux pour substituer ou trouver et remplacer. Supprimez les personnages CR qui ne sont pas censés être là. Vous pouvez utiliser (sed) la commande ci-dessous dans l'image pour accomplir cette tâche:

En utilisant l'utilitaire Dos2Unix

Dos2Unix est un programme qui convertit DOS en UNIX. Pour résoudre le script shell pour les systèmes d'exploitation Unix-Linux, installez l'utilitaire Dos2Unix, puis exécutez la commande DOS2Unix ci-dessous:

$ DOS2UNIX Nom.shot

Si vous obtenez l'erreur de commande non trouvée, installez d'abord l'utilitaire Dos2Unix en exécutant la commande ci-dessous à partir d'un shell de ligne de commande Linux:

$ sudo apt-get install dos2unix

Vous pouvez utiliser la commande UNIX2DOS pour convertir le fichier au format DOS.

Dans un fichier de script bash, comment puis-je afficher les caractères CR LF? Tentative de fichier, de fichier -K et enfin la commande dos2Unix -ih comme dans l'écran ci-dessous: Tentative de fichier, fichier -k et enfin la commande dos2Unix -ih comme dans l'écran ci-dessous. Pour la ligne Linux / Unix «CR», il imprime simplement le texte.

Vous pouvez l'installer sur le système d'exploitation MacOS à l'aide de Homebrew comme suit:

$ Brew Installer Dos2Unix

Ensuite, exécutez la commande ci-dessous pour convertir le fichier au format DOS au format UNIX:

$ DOS2UNIX Nom.shot

Quel est le but de la commande dos2unix

DOS2Unix est un utilitaire qui traduit les terminaisons de ligne DOS CR (Retour de chariot) + LF (flux de ligne) en codages de ligne Unix dans les fichiers texte LF (flux de ligne). Il peut également convertir entre UTF-16 et UTF-8 caractères. Vous pouvez traduire d'Unix à DOS tout en utilisant la commande UNIX2DOS. Espérons que cela résoudra le problème que vous avez.

En utilisant l'éditeur VIM

Si vous n'avez pas l'installation de l'utilitaire Dos2Unix sur votre système d'exploitation Linux, vous pouvez utiliser l'éditeur VIM pour transformer le format de votre script de shell en UNIX. Utilisez l'instruction suivante pour ouvrir le fichier dans l'éditeur VIM:

VI Nom de fichier.shot

OU

nom de fichier VIM.shot

Si vous n'êtes pas dans le répertoire ou le dossier actuel où se trouve votre script de fichier bash, saisissez le chemin complet du répertoire, comme je l'ai fait. Mais si vous êtes dans le même répertoire ou dossier, vous pouvez exécuter la commande directement comme indiqué ci-dessus. VIM est une forme progressive de l'éditeur VI. Les commandes VI et VIM font le même travail. Exécutez la commande en dessous pour modifier le format de fichier en système d'exploitation UNIX:

$: set ff = Unix

Ensuite, en utilisant les commandes ci-dessous, toutes les modifications sont enregistrées et ferment le fichier dans l'éditeur, écrivez le fichier et fermez-le. Maintenant tu as fini. Vous pouvez convertir le format de votre script de shell en Unix via l'une des approches décrites précédemment. Nous espérons que les informations ci-dessus ont contribué à résoudre votre problème.

$: wq!

Conclusion

Il s'agit de l'utilisation de méthodes simples pour résoudre le problème «bin / bash ^ m: mauvais interprète: pas de fichier ou de répertoire de ce type». Tous les exemples utilisés ici sont simples et faciles à mettre en œuvre. Nous espérons que vous l'aimez et en apprends plus.