Volume Libraryからthis appのpvm2rawユーティリティを実行します。cshエラー:HOSTTYPE:未定義の変数
私のUbuntu 10.10端末にcsh build.sh tools
を入力するとき、私は、次のエラーを取得する:なぜこれがある
?
Volume Libraryからthis appのpvm2rawユーティリティを実行します。cshエラー:HOSTTYPE:未定義の変数
私のUbuntu 10.10端末にcsh build.sh tools
を入力するとき、私は、次のエラーを取得する:なぜこれがある
?
Cシェルでは、未定義の変数を参照したくありません。そのため、スクリプトを実行する前に$HOSTTYPE
を設定するか、またはスクリプトを修正して$HOSTTYPE
が正しくなるように修正する必要があります。
Bourneシェルと派生関数は、未定義の変数をほとんどの場合空の文字列として扱います。
提案:プログラミングにCシェルを使用しないでください。参照:Csh Programming Considered Harmful。
.sh
ファイルをcsh
で起動する方法はありますか?
.csh
という名前のcshスクリプトを指定する必要はありませんが、.sh
ファイルは通常、Bourneまたはbashシェルスクリプトを意味します。
また、スクリプト名はビルドプロセスを意味します。ビルドは通常、Solaris、AIX、HPなどの古いUNIXシステム上のBourne(sh
)、Linux用のbash
のいずれかのデフォルトのシェルで行われます。
あなたはそれに先立つ任意のシェルなしbuild.sh
を実行することができます(スクリプトを自分で書かれているか、そうするように指示を与えられていない限り)。
ジョナサン・レフラーは言うとおりです。私はあなたがbuild.sh
を書いたか、あなたが提供するスクリプトを使用している、CSHだから
if (! $?HOSTNAME) then
setenv HOSTNAME `hostname`
endif
のように使用することができる「表記」$?varName
、と空の変数を可能にしていることを追加しますか?
独自のcshスクリプトを作成した場合は、コードブロックを使用して、すべての変数のデフォルト値を確認して提供してください。変数。 (source $HOME/.env_file
のようにこれを達成する他の方法があります。$HOME/.env_file
には、スクリプトに必要なすべての変数の割り当てが記載されていなければなりません)。
提供されているスクリプトを使用している場合、Ubuntuのは、実際にはbashスクリプトと非常によく似ています。そのスクリプトの最初の行を見てください。それは#!/bin/bash
(またはそれに類する)ですか?はい、スクリプトが実行するように設定されていることを確認するには、-rwxr-xr-x
のようなものを見る必要があります。ビット。そうでなければ、chmod 755 build.sh
がそれを解決します。許可が実行できるようになると、./build.sh
を実行するだけです。
こちらがお役に立てば幸いです。
私も同様の問題に直面しました。
試用版:: tcsh build。SH
HOSTTYPE
それはman bash
に記載されて、私たちはPOSIXは、ダウンロードしてgrepをすることによって、それを言及していないことを確認することができます
非POSIXバッシュの拡張である:Is there a listing of the POSIX API/functions?
したがって、それはその変数がcsh
に定義されていないということは驚くことではありません。
も参照してください。Detect the OS from a Bash script