2017-12-13 8 views
0

を実行している場合にのみ、私はそれが動作bashで./cod4_Inxded +set dedicated 1 +exec server.cfg +map_rotateを実行するたびに、私はこのようなファイルまたはディレクトリはありません。シェルスクリプトを通じて

#!/bin/bash 
./cod4_Inxded +set dedicated 1 +exec server.cfg +map_rotate 

非常に基本的なシェルスクリプトを持っています。しかし、私は、シェルスクリプトを実行すると、それは

シェルスクリプトとcod4_Inxdedが同じフォルダ内にあるそのようなファイルやディレクトリを./cod4_Inxdedないと言います。

答えて

2

シェルスクリプトを別のディレクトリから実行すると、シェルはそのディレクトリ内で./cod4_Inxdedを探します。おそらく、ディレクトリ「$ 0」(すなわち、どのようにそのシェルスクリプトと呼ばれ、これまで)に位置し、そこcod4_Inxdedを探している使用します

#!/bin/sh 
"$(dirname "$0")/cod4_Inxded" +set dedicated 1 +exec server.cfg +map_rotate 

のようなものでそれを修正したいと思います。しかし、あなたはまだ同じエラーが発生するので、これはできません。

...多分cod4_Indxdedは、その特定のディレクトリから実行すると機能しますか?そして、最初のディレクトリに変更してみてください:

#!/bin/sh 
set -e 
cd "$(dirname "$0")" 
./cod4_Inxded +set dedicated 1 +exec server.cfg +map_rotate 

これは、スクリプトが置かれているものにカレントディレクトリを変更し、同じから./cod4_Inxdedを実行し、すべてのエラー(set -e)の場合には、スクリプトを中止しますディレクトリ。

+0

これが動作しないでしょう このbash $(pwd)/cod4_Inxded.shを交換してください。完全なパスをマニュアルで入力しても失敗します。 'cod4_Inxded'には32ビットライブラリが必要なのかもしれませんが、私はそれらをインストールしました。 –

0

./cod4_Inxdedでそれは仕事 :)

関連する問題