web-dev-qa-db-ja.com

chmodを使用して.shファイルを実行可能にするにはどうすればよいですか?

私のタッチオーバーレイはポートレートで応答しませんが、ランドスケープでは、タッチ入力を回転させてポートレートで動作できるページに到達しました( buntu Forumsのアドバイス を使用して) .shスクリプトを作成して実行する必要があります。私は初めてシェルスクリプトを使用しており、このページのスクリプトを使用しています。このコードを使用して、.shファイルに対して実行するchmodを設定することを忘れないでください。

chmod 777 *.sh
1
Kayz5ive
  1. Kubuntuでの簡単な方法(Ubuntuも同じです)。変更する必要があるshファイルのプロパティ。

solutionOne

  1. ターミナルを開いて、.shファイルを処理するフォルダー(下の例のように)に移動し、chmod a+x foo.shを実行します。ここで、foo.shはスクリプトの名前です。

    cd /path/to/script/directory
    chmod a+x foo.sh
    
3
peanek

質問が聞こえる方法は、「。shファイル(または一般にスクリプト)を実行可能にする自動化方法は?」です。そして、答えは、新しく作成されたファイルのデフォルトのパーミッションを変更せずにできないということです。それは mask で行われます。 .shファイルは特別なものではなく、非常に基本的なレベルの単なるテキストファイルです。ただし、Pandoraのセキュリティホールのボックスを自分で開いているため、作成したばかりのランダムテキストファイルに実行許可を与えるためにumaskを変更する必要はありません。

答えは、不合理なセキュリティホールがないと自動化できないことです。より良いアプローチは、chmodを自分で実行するか、bash foo.shなどの適切なインタープリターの引数としてスクリプトを実行する習慣を身に付けることです。または、シェル関数を作成してお気に入りのテキストエディターを呼び出し、ファイルを作成してからchmodなどを作成します。

makesh(){
    for i; do
        vi "$i"
        chmod +x "$i"
    done
 }

この答えは面白くありませんが、実用的です

1