問題タブ [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 に答える
861 参照

unix - sh または dash の可変変数

次のコードは で正常に実行されbashます。

出力は

shしかし、私はそれをNOTで書く必要がありbashます。その中で同じコマンドを実行すると、shエラーが発生します

これは によるもの${!x}です。shそのようなパラメータ展開について何も述べていないマニュアルを調べました。だからsh私はそれをサポートしていません。そうでない場合、変数変数をどのように使用できますかsh

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

shell - ダッシュシェルで関数の戻り値によって複数の変数を割り当てる方法

「bash」の新しい使用方法を使用します。

これらをダッシュ​​に変換する方法は?(実際はbusyboxのシェルです)

次の行を使用して置き換えますread name age < <(func)

しかし、もっと良い解決策があるのだろうか?

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

shell - ダッシュ -x が無効な置換エラーで失敗する

移植可能なシェル スクリプトの書き方を学ぼうとしています。そのために、個人用ユーティリティを bash から sh (私のシステムではダッシュ) に移行し始めています。ただし、デバッグ モードでスクリプトを実行しようとすると、常にエラーが発生します。$ dash -x script

たとえば、このスクリプトでは:

as: として実行すると$ dash script、「hi」文字列が返されますが、次のように実行した場合、またはecho の前にコマンド$ dash -x scriptを追加した場合:set -x

次のエラーで失敗します。

script.sh: 3: script.sh: 不適切な置換

これにより、スクリプトのデバッグが非常に困難になります。ダッシュ0.5.7-2ubuntu2でubuntu 12.04を実行しています

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

bash - シェル変数が空であることを確認するポータブルな方法

シェルスクリプトで変数が空/未定義かどうかをテストする移植可能で標準的な方法は何ですか? sh に似たすべてのシェルで動作するはずです。私が今していることは次のようなものです:

逆に、変数が空/未定義でない場合に何かを実行します。

そして、これらは私が今書いているスクリプトで機能しますが、GNU userland とbashまたはdashを備えた Linux PC よりもあいまいな環境であっても、合理的に互換性のあるshのような shellで機能する方法を知りたいです。

「うまくいくはずだ」などの意見ではなく、さまざまなシェル環境での経験があり、さまざまなやり方の落とし穴を知っている人からの「専門家の回答」を探しています。

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

bash - bashとdashの両方で、改行を含む文字列を確実に出力します

次のスクリプトがあります。

どちらのコマンドも、bash とダッシュの両方で機能しません。

/bin/sh が bash を指しているのか、dash を指しているのか、また、/bin/bash または /bin/dash が存在するのかがはっきりしないため、これは大きな問題です。また、改行を含む文字列をコマンドにパイプする必要があるため、文字列を分割して改行に単一の「エコー」を配置することもできません。

すべてのシェルで機能する改行を含む文字列を出力する方法はありますか?

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

bash - Dash シェルは、二重引用符なしで指定されたコマンドを実行できませんでした

ダッシュ シェルを使用した Ubuntu 環境のサンプル コードで問題に直面しています。

次のコード ブロックを Ubuntu Server OS のダッシュ シェルで実行すると、以下のような出力が得られました。

出力 1 :

しかし、次の変更されたコードを実行すると、以下のように正しい出力が得られました。

出力 2 :

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

shell - ダッシュ内のファイルから重要でないテキストを削除する

行数が多すぎるファイルがあります。

次のように構成されています。

等々。

重要な部分を取り出して新しいファイルに保存するにはどうすればよいですか? マッキントッシュからダッシュターミナルを使用しています