問題タブ [sh]
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.
xml - xml ファイルからコメントを取り除き、きれいに印刷する
多くのコメントを含むこの巨大なxmlファイルがあります。
Linuxコマンドラインからすべてのコメントを取り除き、xmlを適切にフォーマットする「最良の方法」は何ですか?
bash - ksh{list;のようなコマンドのcshリスト }
ボーン互換シェルでは、{ list; }
構文により、新しいシェルを開かずに、コマンドの完全なリストが実行前にシェルによって読み取られます。cshに似たものはありますか?
ありがとう。
shell - 変数内に格納されている case-statement を使用してパターンに一致するシェル
パターンが変数内に格納されているケースステートメントとパターンを一致させようとしています。最小限の例を次に示します。
残念ながら「|」エスケープされているようです (興味深いことに、"*" または "?" はエスケープされていません)。これを機能させるには、つまり「foo」に一致させるにはどうすればよいですか? パターンは動的に構築されるため、変数に格納する必要があります。これは、POSIX 互換シェルで動作する必要があります。
sh - sudoユーザーを介してシェルスクリプトを実行する方法
誰かがsudoユーザーを介してシェルスクリプトを実行する例を挙げられますか?
こんな感じでやってみました。
sudo / usr / local / sbin / deploy | ./tmp/cp1.sh
上記のスクリプトは、sudoユーザーではなく通常のユーザーとして実行されます。
linux - コマンドの出力とその戻り値をシェルスクリプトの変数にキャプチャする方法はありますか?
したがって、戻り値と関心のある出力文字列の両方を持つスクリプトにコマンドがあり、foo
それらを変数(少なくとも変数の出力)に格納したいとします。 、およびその戻り値は条件付きで使用できます)。
例えば:
その出力をキャプチャするために私が考えることができる最善のことは、一時ファイルを使用することです。
とにかく私はそれを単純化することができますか?
git - Bashスクリプトでパターンで行をフィルタリングする
2 つの変数があります。1 つはテキスト、もう 1 つはパターンです。そして、一致したパターンの行を除外したいと思います。どうやってやるの?
私のスクリプトは次のようになります
shell - Bourne Shell Scripting -- シンプルな for ループ構文
私はプログラミングがまったく初めてというわけではありませんが、まったく経験がありません。練習用に小さなシェルスクリプトを書きたいです。
これが私がこれまでに持っているものです:
基本的に私がやろうとしているのは、指定されたディレクトリ内のすべてのファイルをスクリプトで処理し、各ファイルの名前と、そのファイルのリンク数、所有者、および作成日を表示することです。作成日または少なくともファイルの最終変更日を表示するための構文は何ですか?
もう 1 つは、for ループを作成するための構文は何ですか? 私が理解していることから、$1 in $1 ($1 は、ユーザーが入力したディレクトリ内のすべてのファイルが正しいですか?) のようなものを記述し、各ファイルをチェックして、それぞれの情報を表示する必要があります。for ループを開始および終了するにはどうすればよいですか (これの構文は何ですか?)。
ご覧のとおり、私は bourne shell プログラミングにあまり詳しくありません。役立つウェブサイトや、より良いアプローチ方法があれば教えてください。
shell - sh - パスを含む文字列を作成する
幅広いUNIXシステムでcat / manページを見つけるための小さなシェルスクリプトを作成しています... bashでは、これを行うことですべての可能なパスを作成できました:
残念ながら、sh の使用を余儀なくされています... ループを使用してパスを構築することはできますが、これは非常に見苦しくなります...もっときちんとした/短い方法はありますか?
regex - 置換するのではなく、Bash スクリプトで正規表現の一致を返す
Bash スクリプトのテキストを一致させたいだけです。sed を使用してみましたが、何かに置き換えるのではなく、一致を出力するだけではないようです。
どちらが出力されますかTestTdontReplaceString
。
これは私が望むものではありません。出力したいのです100
。
理想的には、すべての一致を配列に入れます。
編集:
テキスト入力は文字列として入ってきます:
shell - なぜ$を参照するのですか?明示的に
多くのshコードは次のようになります。
それ以外の:
私は通常、後者の構文が有効であることに気付いていないという理由だけで前者を使用すると想定していましたが、別の理由があるのではないかと思います(ただし、頭に浮かぶ唯一の可能性は移植性です)。$ {?}を明示的に参照することを好む理由はありますか?