私は私の供給された12システムにlpng142をインストールしようとしています。私にとっては問題のように思えます。このエラーが出ます
[root@localhost lpng142]# ./configure
bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
[root@localhost lpng142]#
これをどのように修正しますか? /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
修正するには、スクリプトをviまたはvimで開き、viコマンドモードで入力します(key Esc)、その後、これを入力してください:
:set fileformat=unix
最後にそれを保存
:x!
または:wq!
Dos行末ファイルがあるようです。その手がかりは^M
です。
あなたはUnixの行末を使ってファイルを再保存する必要があります。
あなたはこれをあなたのためにやるdos2unix
コマンドラインユーティリティを持っているでしょう。
あるいは、スクリプトを使ってこれを行いたい場合は、
sed -i 's/\r//' filename
あなたの設定ファイルは単純なLF行末(unixスタイル)の代わりにCRLF行末(windowsスタイル)を含んでいます。 WindowsからFTPモードASCIIを使用して転送しましたか?
あなたが使用することができます
dos2unix configure
これを修正するか、viで開き、:%s/^M//g;
を使ってそれらすべてを置き換えます( CTRL+V、 CTRL+M ^ Mを取得する
あなたが修正するために次のコマンドを使用することができます
cat file_name.sh | tr -d '\r' > file_name.sh.new
見つからなかった場合は、コマンドを実行してください。
CentOS:
# yum install dos2unix*
# dos2unix filename.sh
dos2unix: converting file filename.sh to Unix format ...
Ubuntu/Debian:
# apt-get install dos2unix
これは通常、あなたがWindowsからファイルを編集して、今それを何らかのUNIXベースのマシンから実行しようとしているときに起こります。
Linuxフォーラム に提示された解決策は私のために働いた(何度も)。
Perl -i -pe's/\r$//;' <file name here>
お役に立てれば。
シモンズ:あなたはあなたのunix/linuxマシンにPerlをインストールする必要があります。
OS Xを使用している場合は、ファイルを開き、
表示 - >テキスト - >行末 - > Unix
メニュー項目、次に保存をクリックします。これはXCode 3.x用です。 XCode 4でもおそらく似たようなものです。
Linuxでdos2unixコマンドを使用して、保存したファイルを変換します。例:
dos2unix file_name
Pwc101の この記事 に対するコメントのおかげで、このコマンドはKali Linuxで機能しました。
sed -i s/{ctrl+v}{ctrl+m}// {filename}
括弧内のビット{}
を必ず置き換えてください。すなわち{ctrl+m}
は押すことを意味します Ctrl キーと M 一緒にキーを押します。
リチャードのコメントから続く。これはあなたのファイルをUNIXの行末に変換する簡単な方法です。私のような人であれば、Windowsのメモ帳で作成してからLinuxで実行しようとしました。
Unix script file (*.sh;*.bsh)
chmod 755 the_script_filename
./the_script_filename
で実行してください。その他の問題 このリンクを試してください 。
Kateでもこれを行うことができます。
スクリプト名の前にshを追加するだけで、私の場合はうまくいきます。
あなたがTextMateまたは同様のプログラムを使用しているならば、名前を付けて保存してください、そして、エンコーディングではLF
の代わりにCRLF
を選んでください。
あなたがWindows環境であなたのスクリプトを書いて、あなたがunix環境でそれを実行したいとき、あなたはencodageについて注意する必要があります:
dos2unix $ filePath