答えて
.
は、source
のエイリアスです。コマンドラインでファイルを直接入力した場合と同じように、現在のbashプロセスの引数であるファイルを実行します。
./file
はファイルへのパスを提供しています。その場合、ファイルはファイルのタイプに従って、またはテキストファイルの場合はそのhashbangに従って、サブプロセスとして起動されます。ファイルの最初の行が#!/bin/bash
の場合、新しいbashプロセスとして起動します。
./
ここにファイルが現在のディレクトリにあると表示されます。 cd /bin ; ./ls
と言っても、/bin/ls
というだけの違いはありません(明らかに、現在のディレクトリを1つではなく他のディレクトリではなく変更しています)。現在のディレクトリを指定する必要があり、単にファイルの名前を与えることができない理由は、ディレクトリが指定されていなければ、bashはPATH内で実行するプログラムのみを検索し、現在のディレクトリはUnixのようなPATHシステム。 /bin
はPATHにあるため、ls
は(通常)/bin/ls
と等価です。
変数を定義したい場合、その違いはかなりわかります。環境変数は現在のプロセスとそのサブプロセスにのみ存在します。したがって、サブプロセスで環境変数を定義すると、呼び出し元プロセスはそのサブプロセスにアクセスできなくなります。
たとえば、あなたは、ファイルがtestvar.sh
と呼ばれる持っているとしましょう:
#!/bin/bash
what=world
あなたがこれを行う場合は、変数を設定していません。
./testvar.sh ; echo Hello, $what
# => Hello,
をしかし、あなたがこれを行う場合、あなた次のようになります。
. testvar.sh ; echo Hello, $what
# => Hello, world
もう1つの明らかな違いは、.
がbash coそれはbashスクリプトを含むファイルでのみ動作します。したがって、cd /bin ; ./ls
はls
プログラムを実行します。 cd /bin ; . ls
はエラーで失敗します。
- 1. C#のFileとFileInfoの違いは何ですか?
- 2. fgetsの(FILE *)fpとfpの違いは?
- 3. BashシェルとBashターミナルの違いは?
- 4. Robot FrameworkのRobot Resource FileとRobot Test Suiteの違いは何ですか?
- 5. JavaのFileとDocumentFileの違い
- 6. <jsp:include page = ...>と<%@ include file = ...>の違いは何ですか?
- 7. tclの "if {-s $ file-name}"と同等のコマンドは何ですか?
- 8. Linux Bash。 2行の違いは何ですか?
- 9. `File`オブジェクト(w +、r +)のアクセスモードの違い
- 10. bashとPOSIXシェルのドットコマンドの違い
- 11. Eclipse CDT move-fileとrename-fileリファクタリング?
- 12. ファイル形式のようなini-fileとは何ですか?
- 13. emacsのシェルとeshellの違いは何ですか?
- 14. シェルの-fと-eの違いは何ですか?
- 15. このSandCastle Help File Builderエラーの意味は何ですか?
- 16. Elf-fileの ".group"セクションの任命は何ですか?
- 17. FileオブジェクトのwebkitRelativePathプロパティの目的は何ですか?
- 18. Ubuntuシェルで '〜'と '〜>〜'の違いは何ですか?
- 19. Fetch APIに相当するXMLHttpRequest.send(file)とは何ですか?
- 20. "x in file/file.readlines()"の相違点
- 21. url-loader、file-loader、image-loaderの相違点
- 22. Pythonのコマンドライン 'file input stream'
- 23. ローカル(file:///)ページのクロスサイトスクリプティング制限は何ですか?
- 24. pythonファイル操作モジュールopenとfileの違い。
- 25. `cat-file`はgitで何を表していますか?
- 26. WindowsとLinuxのdnxcore50との違いは何ですか?
- 27. シェルスクリプトのループがLinuxのbashシェルで動作しないwhile
- 28. CMakeの `FILE(GLOB`)はどこですか?
- 29. Laravel File UploadまたはjQuery-File-Upload?
- 30. bashスクリプトで$ {VAR:-...}と$ {VAR:?...}の違いは何ですか?