2013-02-18 5 views
5

"testfile"というファイルを作成し、chmod +x testfileを使用して実行可能にしました。 ファイル "testfile"を実行するには、コマンド./testfileを実行する必要があります。'./filename'なしで現在のディレクトリからシェルスクリプトを実行

./を使用せずにプログラムを実行する方法はありますか?testfileコマンドを使用してファイルを実行しますか?

> echo 'echo Hello, World!' > mycommand 
> mycommand 
-bash: mycommand: command not found 
> ./mycommand 
Hello, World! 
> PATH=".:$PATH"; 
> mycommand 
Hello, World! 
> 
+0

「あなたはもう./.sh入力する必要がありはずの:$のPATH'を、これは良くありません。 –

+0

このコマンドは既に存在するので、 'test'とは呼ばないでください。 – dogbane

答えて

4

あなたはせずにそれを実行できます./により、以下に示す

は、ファイル「テストファイル」あなたはこのようなあなたのPATH変数に.を追加する必要が

echo Todays date is : 
date 
+0

はい、しかし、私はそれらのどれもなしで私のファイルを実行する必要があります。既にLinuxに入っているコマンドを実行するのと同じです。 –

+1

ああ、この場合、できることはエイリアスを定義することです: 'alias execute_testfile =" sh/path/to/file/testfile "'。そして、 'execute_testfile'(またはあなたが定義した名前)を書くたびに、プログラムを実行します。 – fedorqui

+0

それは働いて、ありがとう! –

2

内部の簡単なコードです使用:

sh testfile 

または

sh /path/to/file/testfile 

編集
あなたがコマンドを直接プログラムを実行したい場合は、何を行うことができますが、エイリアスを定義することです:

alias execute_testfile="sh /path/to/file/testfile" 

そして、あなたはいつでもあなたのプログラムを実行します書き込み

execute_testfile 

または定義する名前。

このエイリアスを永続化するには、〜/ .profileファイルまたは〜/ .bash_profileファイルに行を含めます。

+0

返信ありがとうございますが、これを追加する場所はどこですか? 'PATH ="。:$ PATH ";' –

+0

〜/ .bashrcの中で –

+0

@frozenhaartコマンドを実行する前に、答えに詳細を追加しました。 –

2

ホームディレクトリの下にある.profileファイルにPATH変数を定義することができます。

vi ~/.profile 

"を追加/パス/に/ディレクトリを/ PATH変数が設定されているものに" するあなたがしたい場合は

を変換し、どの.profileファイルの末尾に

/path/to/dir/:$PATH 

を追加します。あなたができるシステムのすべてのユーザーのPATHにディレクトリを追加します:Ubuntuのサーバー上の

vi /etc/environment - edit, save your changes 
source /etc/environment 
echo $PATH - should now return your new PATH 

作品、私は推測しますすべてのDebianディストリビューションで、私は

エイリアシングはまだ

vi ~/.bashrc 

は、ファイルの末尾に追加する優れたソリューションです。他のディストリビューションは、/ etc /環境を持っているか、PATHがどこか別の場所に指定されている場合かどうかわからないです

alias <your_script> ='/path/to/your_script.sh' 

に再度ログイン、ログアウト - `輸出PATH =/

+0

ご協力ありがとうございます! :) –

関連する問題