Ik heb geprobeerd lpng142 te installeren op mijn Fed 12-systeem. Lijkt mij een probleem. Ik krijg deze foutmelding
[root@localhost lpng142]# ./configure
bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
[root@localhost lpng142]#
Hoe los ik dit op? Het bestand /etc/fstab
:
#
# /etc/fstab
# Created by anaconda on Wed May 26 18:12:05 2010
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=ce67cf79-22c3-45d4-8374-bd0075617cc8 /boot ext4
defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
Antwoord 1, autoriteit 100%
Om dit op te lossen, open je je script met vi of vim en ga je naar de vi-opdrachtmodus (toets Esc) en typ je dit:
:set fileformat=unix
Eindelijk opslaan
:x!
of :wq!
Antwoord 2, autoriteit 46%
Het lijkt erop dat je een eindbestand van de dos-regel hebt. De aanwijzing is de ^M
.
Je moet het bestand opnieuw opslaan met Unix-regeleinden.
Misschien heeft u een dos2unix
opdrachtregelprogramma dat dit ook voor u doet.
Antwoord 3, autoriteit 15%
Of als je dit met een script wilt doen:
sed -i 's/\r//' filename
Antwoord 4, autoriteit 6%
Uw configuratiebestand bevat CRLF-regeleinden(windows-stijl) in plaats van eenvoudige LF-regeleinden (unix-stijl). Heb je het vanuit Windows overgebracht met de FTP-modus ASCII?
U kunt
. gebruiken
dos2unix configure
om dit op te lossen, of open het in vi en gebruik :%s/^M//g;
om ze allemaal te vervangen (gebruik CTRL+V , CTRL+Mom de ^M)
te krijgen
Antwoord 5, autoriteit 4%
Je kunt het volgende commando gebruiken om het op te lossen
cat file_name.sh | tr -d '\r' > file_name.sh.new
Antwoord 6, autoriteit 2%
Als u de opdracht niet kunt vinden, voer dan de opdracht uit,
CentOS:
# yum install dos2unix*
# dos2unix filename.sh
dos2unix: converting file filename.sh to Unix format ...
Ubuntu / Debian:
# apt-get install dos2unix
Antwoord 7, autoriteit 2%
Dit gebeurt meestal als je een bestand vanuit Windows hebt bewerkt en dat nu probeert uit te voeren vanaf een op Unix gebaseerde machine.
De oplossing gepresenteerd op Linux Forumwerkte voor mij (vaak):
perl -i -pe's/\r$//;' <file name here>
Hopelijk helpt dit.
PS: je moet perl geïnstalleerd hebben op je unix/linux machine.
Antwoord 8
Dankzij de opmerking van pwc101 op dit bericht, dit commando werkte in Kali Linux .
sed -i s/{ctrl+v}{ctrl+m}// {filename}
Zorg ervoor dat je de bits tussen haakjes vervangt, {}
. D.w.z. {ctrl+m}
betekent dat u de Ctrl-toets en de M-toets tegelijk indrukt.
Antwoord 9
Als u OS X gebruikt, kunt u regeleindes in XCode wijzigen door het bestand te openen en de
Bekijken -> Tekst -> Regeleinden -> Unix
menu-item en vervolgens Opslaan. Dit is voor XCode 3.x. Waarschijnlijk iets soortgelijks in XCode 4.
Antwoord 10
In vervolg op Richard’s opmerking. Hier is de gemakkelijke manier om uw bestand naar UNIX-regeleindes te converteren. Als je op mij lijkt, heb je het in Windows Kladblok gemaakt en vervolgens geprobeerd het in Linux uit te voeren – slecht idee.
- Download en installeer zelf een kopie van Notepad++(gratis).
- Open je scriptbestand in Notepad++.
- Bestandsmenu-> Opslaan als->
- Opslaan als type:
Unix script file (*.sh;*.bsh)
- Kopieer het nieuwe .sh-bestand naar je Linux-systeem
- Maximaal uitvoerbaar met:
chmod 755 the_script_filename
- Voer het uit met:
./the_script_filename
Andere problemen probeer deze link.
Antwoord 11
Als je TextMate of een soortgelijk programma gebruikt, sla dan op als, en kies dan in coderingen LF
in plaats van CRLF
.
Antwoord 12
Als je sh voor de scriptnaam toevoegt, werkt het in mijn geval.
Antwoord 13
Gebruik de opdracht dos2unix in linux om het opgeslagen bestand te converteren.
voorbeeld :
dos2unix file_name
Antwoord 14
Als u uw script in een Windows-omgeving schrijft en u wilt het op een Unix-omgeving uitvoeren, moet u voorzichtig zijn met de codering:
dos2unix $filePath
Antwoord 15
Je kunt dit ook in Kate doen.
- Open het bestand
- Open het Extramenu
- Breid het submenu End Of Lineuit
- Selecteer UNIX
- Bewaarhet bestand.