3 2>&-、2> / dev / null、|&、&> / dev / nullおよび> / dev / null 2>&1の違い の違いを探しているだけ 2>&- 2>/dev/null |& &>/dev/null >/dev/null 2>&1 その可搬性non-Bourne shellsのようなtcsh、mkshなど 192 shell io-redirection file-descriptors csh portability
3 シェルはどのように家を知っていますか? 各シェルには、環境変数$ HOMEが設定されています(例:)/Users/lotolo。私がcshの下にいる場合、私はできますがunsetenv HOME、それでも私は家cdにいます。これもbash(unset HOME)でテストしましたが、同じ動作です。では、シェルはどのようにしてmy / other_userの家がどこにあるのかを知るのでしょうか?それらの値はどこで読み取られますか? 私の質問は私がどのように知っているのではなく、シェルがどのように知っているので、これは重複していませんHOME。また、この動作は他のユーザーにも拡張されています。 25 bash cd-command home tcsh csh
2 関数、エイリアス、実行可能ファイルのハイフンに問題はありますか? 私のテスト(BashおよびZシェル)では、名前にハイフンが含まれる関数またはエイリアスまたは実行可能なシェルスクリプトの定義に問題はありませんでしたが、これがすべてのシェルおよびすべてのユースケースで問題ないことを確信していません。 私がこれをしたい理由は、ハイフンはアンダースコアよりも入力しやすいため、より速く、よりスムーズになります。 それが問題ではないと信頼するのをためらう理由の1つは、一部の言語(Rubyなど)では、ハイフンが周囲にスペースがなくてもマイナス記号として解釈されることです。ハイフンがスペースなしでもオプションを通知するものとして解釈されるシェルで、このようなことが起こるかもしれませんが、私は驚かないでしょう。 私が少し疑っているもう1つの理由は、テキストエディターがハイフンを含む関数の構文強調表示を台無しにしていることです。(もちろん、シェルスクリプトの構成を強調する構文の単なるバグである可能性は完全にあります。) ハイフンを避ける理由はありますか? 25 bash shell zsh ksh csh
3 チルダ( '〜'、ホームディレクトリ)を再定義することはできますか? ホームディレクトリを再定義することは可能ですか?たとえば、の/ext1/username代わりに/home/username、つまり~別のディレクトリに展開します(ユーザーのホームファイルが置かれている実際のホームディレクトリを変更するのではなく)。 (この質問はたいていアカデミックです。そうするのは悪い習慣のようです。cshトップ10を読んだにもかかわらず、を使用することに関しても選択肢がありません。) 13 solaris home csh
3 stderrリダイレクトがcshで機能しない 次のコマンドを実行します。 pkg_add emacs-23.4,2.tbz 2> output.log 出力は引き続きターミナルに表示されます。を押すと↑、 pkg_add emacs-23.4,2.tbz 2 > output.log の前にスペースがあり2ます。 もともとは入れませんでした。やってみる pkg_add emacs-23.4,2.tbz > output.log 2>&1 もう一度、を押すと↑、スペースが追加されました。 なぜこれが私に起こったのですか? FreeBSDでcshを実行しています。 11 command-line freebsd io-redirection csh