1

私はかなりの研究をしましたが、情報は少し圧倒的であり、私が取るべきステップで正しい種類の情報を取り入れているかどうかはわかりません。

私を始めるためのいくつかの基本的な質問:

私はいくつかのチュートリアルを読み、自分の小さなスクリプトを書くことができましたが、個人のスクリプトごとに異なることに気づき、戸惑いました。

これらの質問の仕方や順番がわからないので、少しだけアンロードします。

ファイルにいつ追加する必要があるかを知るにはどうすればよい.shですか?のように、一部のスクリプトが同じように開始するのに、ファイルに追加されているスクリプト#!/bin/bashと追加されていないスクリプトがあるのはなぜですか?.sh

もっとたくさん質問があると思いますが、最初に、大きな質問は私が今尋ねた2つです。どうすればよいか混乱しています...シェルスクリプトを「宣言」します。

ご協力いただきありがとうございます。

4

3 に答える 3

3

ファイルに.shを追加する必要がある場合はどうすればわかりますか?

ファイル拡張子は、あなたにとって単なるフラグであり、その中にどのような種類のコンテンツが含まれているかを示す他の「賢い」プログラムかもしれません。それは必要ない。

#!/ bin / bashのように、一部のスクリプトが同じように開始するのに、ファイルに.shが追加されているスクリプトと、追加されていないスクリプトがあるのはなぜですか?

ファイル内のShebangX.shを使用すると、のように実行可能になります$> ./X.sh

そして、ちょっとしたアドバイス:ランダムな問題やタスクを取り、実際には役に立たないかもしれませんが、で解決してみてくださいbash。そして、これらの2 はあなたを大いに助けることができます。

于 2012-11-09T05:52:08.357 に答える
2
  1. .sh.txtオプションです(テキストファイルに常に拡張子が付いているとは限らないなど)。これにより、ユーザーはそれをシェルスクリプトとして識別できます。

  2. #!/bin/bash「シバン」(または「ハッシュバン」)と呼ばれます。ウィキペディアにはかなりまともなエントリがあります。

    Shebangは、スクリプトを実行するときにのみ使用されます。スクリプトの実行時に使用されるインタープリターを指定します。シバンがない場合、スクリプトの解釈にはデフォルトのシェルが使用されます。

    シバンが#!/bin/bashで、のようにスクリプトを実行する場合./script.sh、コンソールでこれを入力するのと同じです。

    /bin/bash ./script.sh
    

スクリプトを実行可能にするには、次のことを行う必要があります。

    chmod +x script.sh

シバンのデモ(それ自体の最初の5行を印刷する「スクリプト」)

  1. printmeselfこのコンテンツでファイルを作成する

    #!/usr/bin/head -5
    I will be printed
    I will be printed 2
    I will be printed 3
    I will be printed 4
    I won't be printed
    Bye
    
  2. chmod +x printmeself

  3. ./printmeself

  4. ???

  5. 利益

于 2012-11-09T08:18:59.913 に答える
0
  1. .shこれは、ユーザーがファイルを開かなくてもシェルスクリプトであるかどうかを知るのに役立つ単なる規則です。シェルスクリプトにこの規則があることは必須ではありません。ただし、これを使用することをお勧めします。
  2. #!/bin/bashは、ファイルの先頭に書き込まれる魔法の行で、どのシェルでスクリプトを実行する必要があるかを示します。構文はシェルごとに異なります。したがって、シェルスクリプトを作成するときは、このスクリプトを実行するシェルを指定することをお勧めします。指定されていない場合、カーネルは、Bourneシェルまたはログインシェルと同じシェルを決定します。
于 2012-11-09T05:53:09.573 に答える