問題タブ [dash-shell]

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 投票する
1 に答える
29 参照

regex - 複数のシェル間での正規表現の互換性

次のコードを使用して、bash スクリプトで正しい日付形式を確認しています。

形式は次のとおりです: YYYY-MM-DD

これは bash では問題なく動作しますが、dash または sh で実行しようとすると問題が発生します。これを書き直して、dash と sh と互換性を持たせるのを手伝ってくれませんか? または、代わりに、すべてのシェルで使用できる別のソリューションを見つけますか?

前もって感謝します !

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

bash - [ x"$1" != x"" ] の目的は何ですか?

の目的は[ x"$1" != x"" ]何ですか?

xdg-screensaver を見ると、最初に実行されるコマンドは次のとおりです。

シバンは#!/bin/sh(私にとってはダッシュです)です。

他の古いシェル スクリプトで同様の構文を見つけました...これの目的は何ですか?

|| 使用する古い習慣があると思います || && ではなく終了します...おそらくset -e. しかし、、、、など[ -n "$1" ] || exit_failure_syntaxを使用しないのはなぜですか...-z$# -ne 0

私が言ったように、私はx"$var" = x""以前にこの奇妙なものを見たことがあります。なぜ誰かがこれをするのでしょうか?

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

bash - shell: ワイルドカードはアルファベット順を保証しますか?

私がファイルを持っているときa.txtb.txtそれc.txt保証されていますか

また

ファイルをアルファベット順に結合しますか?

(私のすべてのテストでは、アルファベット順が保持されていましたが、たとえばls、順序が定義されておらず、アルファベット順である必要がないため、よくわかりませんが、ファイルがディレクトリにアルファベット順に書き込まれることが多いため、そうなることがよくあります)

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

loops - ファイルシステムの変更をリッスンするダッシュ ループの CPU 使用率を制限するにはどうすればよいですか?

ファイルシステムの特定の場所にファイルが表示されるのを待つループをダッシュ​​で書きました。ただし、実行すると、CPU の 50% を占有します。最初にスリープ コマンドを使用して CPU 使用率を下げましたが、ダッシュの最小スリープ時間 (1 秒) が長すぎます。

ループの CPU 使用率を下げるために、bash または別のソリューションで 1 秒未満でスリープする方法が必要です。ほとんどの UNIX システムにデフォルトでインストールされているプログラムのみを使用したいと考えています。

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

bash - シェル スクリプトで ERR をポータブルにトラップする

コマンドが失敗したときに中止し、問題のある行番号を表示するシェル スクリプトを作成しようとしています。

トラップ行は、Ubuntu のデフォルトのシェル スクリプト インタープリターであるダッシュでは機能しないことが判明しました。シバン行を#!/bin/bashこれに変更すると機能しますが、では機能しません#!/bin/sh。bash の存在に依存せずにこれを機能させる方法はありますか?

ちなみに、ダッシュから得られるエラーは次のとおりです。

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

bash - Makefile の複数行ダッシュ コマンドは、切り離されたプロセスで実行可能ファイルを実行します

私のメイクファイルには次のターゲットがあります: (デタッチされたプロセスで python http サーバーを実行し、bash スクリプトが完了したらサーバーを強制終了したい)

&ただし、行の後に a を置くとpython ...、エラーが発生します

/bin/dash: 構文エラー: ";" 予期しない

これはどのように適切な方法で行うことができますか?

編集

次のようにメイクファイルを変更しました。

ただし、エラーが発生します:(行番号なし)

/bin/dash: 構文エラー: 予期しない単語

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

unix - `set -e` とサブシェルを使用した sh の奇妙な動作

Continuingサブシェルを削除すると、以下のコードが出力されます。サブシェルでは、テスト後に別の成功した呼び出しが必要です (:成功した no-op コマンドを使用するのが最も簡単です、IMO) Continuing

この動作は正しいですか? サブシェルを導入すると動作が変わるのはなぜですか

私はdash 0.5.7-2ubuntu2これを実行するために使用しています。