GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi le nom de fichier contient-il des points d'interrogation lorsque j'exécute un script sur ma machine distante ?

Vous avez probablement des caractères non imprimables en fin de ligne (par exemple CRLF de Windows), exécutez :

cat -A scriptname

sur une machine distante, il vous montrera tous les caractères de votre script. Ensuite, vous pourrez convertir au format de type Unix en exécutant

dos2unix scriptname

J'ai trouvé que le Bloc-notes ++ était très utile pour corriger cela après avoir tenté la réponse

cat -A nomduscript>

nom du script dos2unix

car cela présentait toujours des erreurs lors de la tentative de conversion.

Grâce à Notepad ++, il y a l'option dans le menu d'édition/Conversion EOL/Format Unix/OSX.

Toujours très apprenant, mais cette méthode a résolu mon problème, mais la solution précédente a aidé à trouver où se trouvait le problème.


Linux
  1. Que signifie le tilde (~) à la fin d'un nom de fichier ? ?

  2. Lors de l'utilisation de Vlc, pourquoi l'économiseur d'écran continue-t-il de se réveiller ?

  3. Pourquoi le fichier de traduction Bash ne contient-il pas tous les textes d'erreur ?

  4. Linux - Pourquoi le noyau ne peut-il pas exécuter Init ?

  5. La plus ancienne machine Linux que vous utilisez encore ?

Pourquoi le script Bash ne reconnaît-il pas les alias ?

Pourquoi "sudo Su" dans un script Shell n'exécute-t-il pas le reste du script en tant que racine ?

Pourquoi l'utilisateur racine a-t-il besoin d'une autorisation Sudo ?

Pourquoi "zip" dans une boucle For fonctionne-t-il lorsque le fichier existe, mais pas lorsqu'il n'existe pas ?

Pourquoi Shotwell a-t-il inversé les positions X et Y lors de l'utilisation du recadrage ?

Quel est le moyen le plus rapide d'exécuter un script ?