問題タブ [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.
ssh - posix準拠のシェルでsshで渡されたパラメータをエスケープする最も効率的な方法は何ですか?
ssh を介してシェルに渡す前に、何かを確実にエスケープしたい場合があります。しかし、この問題がどれほど難しいように見えるかは興味があります。:-$
この関数を定義するためのより短い、またはより効率的な方法はありますか?厳密にposix準拠のシェルで動作しますか?
(単純に printf の代わりに echo を使用すると、バグが発生する可能性があります。)
shell - ダッシュでIPを検証します(bashではありません)
ダッシュ スクリプト内で IP アドレスを検証しようとしています。linuxjournalのように、bash で同じことを達成する多くの方法を見つけました。
基本的に、これを使用した比較は次のとおりです。
ダッシュで同じことを得る方法はありますか?
更新:これは、必要なことを実行する最終的なスクリプトです。
bash - シェルスクリプトで、最初に出現した文字列を別の文字列の後に置き換えるにはどうすればよいですか
次のような単純な構成ファイルがあります。
valueX
そして、セクションAまたはセクションCのユーザー名に触れずに、セクションBのユーザー名を置き換えたいと思います。
でいくつかのバリエーションを試しsed
ましたが、理解できる限り、個々の行で動作しているようです。
同等のことを行うにはどうすればよいですか
- StringA を検索します (この場合は
[SectionB]
) - 次に出現する StringB を検索します (
username = value2
) - StringC に置き換えます ('username = valueX`)
regex - ダッシュで文字列を正規表現で比較するには?
互換性の理由から、bash スクリプトをダッシュに移動しています。次の比較に代わる POSIX/Dash はありますか?
shell - 変数への動的な値の割り当て
動的な値を変数に割り当てるにはどうすればよいですか?私が知っている最も簡単な方法は、関数を使用することです。例えば
出力します
でももっとシンプルなものが欲しい
出力する
どのコマンドを使用すればよいですか?ダッシュと互換性があることが望ましい。
ありがとう!
更新:ダッシュに関連して#!/ bin/shを削除しました。説明してくれた「IgnacioVazquez-Abrams」に感謝します!
更新2:状況をよりよく理解するためにスクリプトのソースを追加します。
このスクリプトは、削除されたパッケージの残りの構成ファイルを見つけるのに役立ちます。
linux - /bin/sh 以外の Linux シェルの設定に問題はありますか?
私の会社は Linux のサポートを拡大し始めており、一部のシェル スクリプトはより複雑になり始めています。今日、シバンを次のように使用します
しかし、Ubuntu のような一部のディストリビューションでは、たとえば sh がダッシュを指している場合や、よりエキゾチックな場合に問題が発生しています。
私の質問は、たとえばシバンをバッシュに変更するリスクは何ですか? おそらく、より良い質問は、最近 bash なしでディストリビューションを作成できるかどうかです。
linux - `dash` は `bash` スタイルの配列をサポートしていますか?
シェル環境ではdash
、文字列を配列に分割しようとしています。次のコードは では機能しますが、 では機能しbash
ませんdash
。
私の質問
このスタイルdash
で配列をサポートします。そうでない場合、ループを使用せずにこれを別のタイプの変数に解析するための提案はありますか?
shell - ダッシュ変数展開が機能しない場合がある
この作業は、テスト用の virtualbox マシンで行われています
/root ディレクトリに、
「/root/foo」
「/root/bar」
「/root/i have multiple words」を作成しました。
ここに私が現在持っている(関連する)コードがあります
これは、スクリプトを sh -x で実行するとどうなるかです
チェックは正常に完了しますが、--exclude='i have multiple words'
機能しません。
手動でシェルに入力すると機能することに注意してください。
配列を使用する場合、これが bash で機能することはわかっていますが、これを POSIX にしたいと考えています。
これに対する解決策はありますか?