0

こんにちは、Linuxでgccをビルドするためのスクリプトを作成します。私のコードは次のとおりです。

#!/bin/bash

export INSTALLATION_GCC=/opt

cd $INSTALLATION_GCC

tar xjvf gcc-4.7.0.tar.bz2

export srcdir="$INSTALLATION_GCC/gcc-4.7.0"

export objdir="$INSTALLATION_GCC/gcc-bin"

export insdir="$INSTALLATION_GCC/usr/local"

mkdir -p $srcdir

mkdir -p $objdir

mkdir -p $insdir

cd $objdir

$srcdir/configure --prefix=$insdir

make bootstrap

インストールする

しかし、このスクリプトを実行すると、エラーが発生します。

No such file or directoryopt
tar (child): gcc-4.7.0.tar.bz2\r: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
/configure: No such file or directory
'.  Stop. No rule to make target `bootstrap
'.  Stop. No rule to make target `install

スクリプトを実行した場合(インタラクティブモードでこのコマンドを入力した場合)、cdが正常に機能しないのはなぜですか?gccをビルドしてインストールした後、バージョンのgccが変更されないのはなぜですか?古いバージョンのgccを正しく置き換えるにはどうすればよいですか?

4

1 に答える 1

0

ディレクトリ名の一部であるバックスペースについての私のコメントは関連があると思います:

「ここに奇妙なことがあります。エラーメッセージ「そのようなファイルまたはディレクトリオプトにはスペースと/がありません。コードでこのエラーメッセージが生成されなかったようです。$INSTALLATION_GCCが/optで先頭に/が付いていることを確認してください。 ?$INSTALLATION_GCCの最初の文字はバックスペースのようです。」

gcc-4.7.0.tar.bz2\rまた、エラーメッセージの1つをスパイしました。A\rはこれらの効果を与えます。(キャリッジリターン)の最も一般的な不要なソース\rはWindowsです。スクリプトを編集するためにWindowsのメモ帳のようなものを使用していますか?Windowsが関係している場合は、を使用してスクリプトを変換しますdos2unix

于 2012-09-19T08:08:19.667 に答える