問題タブ [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 投票する
3 に答える
179 参照

ssh - posix準拠のシェルでsshで渡されたパラメータをエスケープする最も効率的な方法は何ですか?

ssh を介してシェルに渡す前に、何かを確実にエスケープしたい場合があります。しかし、この問題がどれほど難しいように見えるかは興味があります。:-$

この関数を定義するためのより短い、またはより効率的な方法はありますか?厳密にposix準拠のシェルで動作しますか?

(単純に printf の代わりに echo を使用すると、バグが発生する可能性があります。)

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

shell - ダッシュでIPを検証します(bashではありません)

ダッシュ スクリプト内で IP アドレスを検証しようとしています。linuxjournalのように、bash で同じことを達成する多くの方法を見つけました。

基本的に、これを使用した比較は次のとおりです。

ダッシュで同じことを得る方法はありますか?

更新:これは、必要なことを実行する最終的なスクリプトです。

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

bash - シェルスクリプトで、最初に出現した文字列を別の文字列の後に置き換えるにはどうすればよいですか

次のような単純な構成ファイルがあります。

valueXそして、セクションAまたはセクションCのユーザー名に触れずに、セクションBのユーザー名を置き換えたいと思います。

でいくつかのバリエーションを試しsedましたが、理解できる限り、個々の行で動作しているようです。

同等のことを行うにはどうすればよいですか

  1. StringA を検索します (この場合は[SectionB])
  2. 次に出現する StringB を検索します ( username = value2)
  3. StringC に置き換えます ('username = valueX`)
0 投票する
2 に答える
4166 参照

regex - ダッシュで文字列を正規表現で比較するには?

互換性の理由から、bash スクリプトをダッシュ​​に移動しています。次の比較に代わる POSIX/Dash はありますか?

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

shell - 変数への動的な値の割り当て

動的な値を変数に割り当てるにはどうすればよいですか?私が知っている最も簡単な方法は、関数を使用することです。例えば

出力します

でももっとシンプルなものが欲しい

出力する

どのコマンドを使用すればよいですか?ダッシュと互換性があることが望ましい。

ありがとう!

更新:ダッシュに関連して#!/ bin/shを削除しました。説明してくれた「IgnacioVazquez-Abrams」に感謝します!

更新2:状況をよりよく理解するためにスクリプトのソースを追加します。

このスクリプトは、削除されたパッケージの残りの構成ファイルを見つけるのに役立ちます。

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

linux - /bin/sh 以外の Linux シェルの設定に問題はありますか?

私の会社は Linux のサポートを拡大し始めており、一部のシェル スクリプトはより複雑になり始めています。今日、シバンを次のように使用します

しかし、Ubuntu のような一部のディストリビューションでは、たとえば sh がダッシュを指している場合や、よりエキゾチックな場合に問題が発生しています。

私の質問は、たとえばシバンをバッシュに変更するリスクは何ですか? おそらく、より良い質問は、最近 bash なしでディストリビューションを作成できるかどうかです。

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

linux - `dash` は `bash` スタイルの配列をサポートしていますか?

シェル環境ではdash、文字列を配列に分割しようとしています。次のコードは では機能しますが、 では機能しbashませんdash

私の質問

このスタイルdashで配列をサポートします。そうでない場合、ループを使用せずにこれを別のタイプの変数に解析するための提案はありますか?

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

shell - ダッシュ変数展開が機能しない場合がある

この作業は、テスト用の virtualbox マシンで行われています

/root ディレクトリに、
「/root/foo」
「/root/bar」
「/root/i have multiple words」を作成しました。

ここに私が現在持っている(関連する)コードがあります

これは、スクリプトを sh -x で実行するとどうなるかです

チェックは正常に完了しますが、--exclude='i have multiple words'機能しません。

手動でシェルに入力すると機能することに注意してください。

配列を使用する場合、これが bash で機能することはわかっていますが、これを POSIX にしたいと考えています。

これに対する解決策はありますか?