問題タブ [shopt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
21173 参照

bash - 非対話型Bashシェルのエイリアスが機能しない理由

非対話型のbashシェルでエイリアスを使用しようとしています。でエイリアスを定義し~/.bashrc、変数を設定しましたBASH_ENV=~/startUpFile。startUpFileの内容はsource ~/.bashrcです。

コマンドを実行すると、エイリアスが認識されていることがわかりますalias。ただし、で定義されたエイリアスを使用しようとすると~/.bashrc、Bashはそれを認識できません。不明なコマンドエラーが発生します。

TCSHシェルを使用すると、~/.cshrcファイルが常に読み取られるため、これを行うのは非常に簡単です。

Bashシェルでこれを行う方法はありますか?

0 投票する
5 に答える
37655 参照

bash - 現在のディレクトリ内のすべてのファイルに再帰的に展開されるものは何ですか?

**/*.ext一致するすべてのサブディレクトリ内のすべてのファイルに展開されることは知っていますが、現在のディレクトリ*.ext内のそのようなすべてのファイルも含む同様の展開とは何ですか?

0 投票する
3 に答える
5718 参照

bash - expand_aliases を有効にすることができません

expand_aliases を bash で有効にすることができません。いろいろ試してみましたが、何もうまくいきません。

簡単なテストケースは次のとおりです。

そして出力:

(はい、bash に -O オプションの代わりに shopt を使用しています。これは、それが行われていることを証明するためです。)

何か案は?

0 投票する
6 に答える
10403 参照

linux - ネストされたすべてのディレクトリの下にあるすべてのファイルをシェルグロブで照合します

シェルグロブを使用してネストされたディレクトリを識別する方法はありますか?

したがって、dir / dir1 / dir2 / dir3 / dir4 / dir5 / ..があり、それらすべての下にファイルがある場合、すべてのディレクトリの下のすべてのファイルに一致する同等のグロブパターンは、次のようになります。ls -R

0 投票する
2 に答える
2652 参照

bash - ash には bash の「nullglob」オプションに相当するものがありますか?

glob パターンがどのファイルとも一致しない場合はbash、リテラル パターンを返します。

シェル オプションを設定することでデフォルトの動作を変更できるため、nullglob一致するものがない場合は null 文字列が返されます。

に同等のオプションはありますashか?

0 投票する
2 に答える
2476 参照

bash - shopt -s dirspell は何をしますか?

私はそれを理解することができません.shopt -s cdspellは理解していますが、shopt -s dirspellが何をするのかわかりません.

Bashリファレンスガイドには次のように書かれています:

ダースペル

設定されている場合、最初に指定されたディレクトリ名が存在しない場合、Bash は単語補完中にディレクトリ名のスペル修正を試みます。

いくつかのディレクトリで数回試しましたが、それは動作ではありません。

i386-apple-darwin10.7.0 で bash 4.2.10(2) を使用しています

0 投票する
5 に答える
9358 参照

bash - 1つのグロブにnullglobを設定する簡単な方法はありますか

bashでは、これを行うと:

必要に応じてゼロではなくarray、1つの要素が含まれていることがわかります。"/tmp/empty/*"ありがたいことに、これは、を使用してnullglobシェルオプションをオンにすることで回避できます。shopt -s nullglob

ただし、nullglobはグローバルであり、既存のシェルスクリプトを編集すると、問題が発生する可能性があります(たとえば、誰かがの終了コードls foo*をチェックして、「foo」で始まる名前のファイルがあるかどうかを確認しましたか?)。したがって、理想的には、小さなスコープ、理想的には1つのファイル名拡張に対してのみオンにします。を使用して再びオフにすることができますがshopt -u nullglob、もちろん、以前に無効にされた場合に限ります。

もっと良い方法があるに違いないと思います。もちろん、変数の代入はサブシェルで終了するため、明らかな「サブシェルに入れる」は機能しません。オースティングループがksh93構文をインポートするのを待つ以外にありますか?

0 投票する
4 に答える
4221 参照

bash - ショップをローカルに変更して機能させる

nocasematchオプションの呼び出し元の設定を変更せずに使用するbash関数を作成しようとしています。関数の定義は次のとおりです。

私がそれを呼ぶ前に:

あれを呼べ:

予想どおりですがnocasematch、発信者の変更は次のとおりです。

オプションを関数に対してローカルに変更する簡単な方法はありますか?

の戻り値を確認できることはわかっていますshopt -qが、それでも関数はこれを記憶し、終了する前にリセットする必要があることを意味します。

0 投票する
1 に答える
1956 参照

bash - バッシュショップ xpg_echo

xpg_echoショップが有効または無効になった場合に何が変わるのかわかりません。

マニュアルでは:

xpg_echo を有効化/無効化しようとしましたが、echo は同じ動作をします。