GNU/Linux >> Znalost Linux >  >> Linux

Bash skript:špatný interpret

Může skript používat nové řádky Dos?

Zkuste na něm spustit dos2unix.


První řádek, #!/bin/bash , říká Linuxu, kde najde interpret. Skript by měl být také spustitelný s chmod +x script.sh , což jste zřejmě udělali.

Je vysoce pravděpodobné, že jste tento soubor vytvořili pomocí editoru Windows, který umístí <cr><lf> na konci každého řádku. Toto je standard pod dos / windows. OS X umístí <cr> na konci každého řádku. Nicméně pod Unixem/Linuxem je standardem vkládat pouze <lf> na konci řádku.

Linux nyní hledá soubor s názvem /bin/bash<cr> interpretovat soubor, kde <cr> je znak návratu vozíku, což je platný znak souboru v systému Linux. Takový soubor neexistuje. Proto ta chyba.

Řešení: Upravte soubor pomocí editoru v Linuxu a zbavte se přebytečných <cr> . Jedním z nástrojů, který obvykle funguje při úpravách souboru v systému Windows, je dos2unix .


Linux
  1. Bash Script:Zkontrolujte, zda je soubor textovým souborem?

  2. Použití příkazu Linux Basename ve skriptech Bash

  3. Jak zvýraznit Bash skripty ve Vimu?

  1. Jak zkontrolovat syslog v Bash na Linuxu?

  2. Jak zahrnout soubor do skriptu bash shell

  3. Linux bash skript pro extrakci IP adresy

  1. 10 praktických aliasů Bash pro Linux

  2. Změna hesla systému Linux ve skriptu bash

  3. Bash smyčka rozbalte skript zaheslovaného souboru