000の権限を持つBash関数を実行できるのは完全に厳密なものではありませんが、ほとんどの場合です。私のコードは次のとおりです。私は、現在の権限で入力し、Firtslyなぜ000権限でBash関数を実行できますか?
-r-------- 1 UnixBasics hello_file
を::
$ . ./hello_file;hello
微調整は、に400件のパーミッションを変更することです
#!/bin/bash
function hello {
echo Hello! }
ハローファイルが権限を持っています000 bashスクリプトスクリプトを実行する直前:
$ chmod 000 hello_file
$ . ./hello_file;hello [1]
-bash: ./hello_file: Permission denied
Hello!
エラーが1つありますが、関数の実行は停止しません。私は理解できない。 hello関数の設定を解除しました: "unset hello"。エラーが表示されます:
-bash: ./hello_file: Permission denied
-bash: hello: command not found
なぜ私は最初にそれらを取得できませんでしたか?それはキャッシュやバッファなどと何か関係がありますか?なぜ000の権限でBashスクリプトを実行できますか?
最初の行は "#!/ bin/bash"です。 –
@Andrewありがとうございます。 –
私の文章を批判的に解釈したAndrew Medicoに感謝します。その結果、小さな討論のように見える私の執筆において、いくつかの厄介な誤りが見つかりました。うまくいけば、すべてが今正しいです。 –