問題タブ [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.
unix - sh または dash の可変変数
次のコードは で正常に実行されbash
ます。
出力は
sh
しかし、私はそれをNOTで書く必要がありbash
ます。その中で同じコマンドを実行すると、sh
エラーが発生します
これは によるもの${!x}
です。sh
そのようなパラメータ展開について何も述べていないマニュアルを調べました。だからsh
私はそれをサポートしていません。そうでない場合、変数変数をどのように使用できますかsh
shell - ダッシュシェルで関数の戻り値によって複数の変数を割り当てる方法
「bash」の新しい使用方法を使用します。
これらをダッシュに変換する方法は?(実際はbusyboxのシェルです)
次の行を使用して置き換えますread name age < <(func)
しかし、もっと良い解決策があるのだろうか?
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を実行しています
bash - シェル変数が空であることを確認するポータブルな方法
シェルスクリプトで変数が空/未定義かどうかをテストする移植可能で標準的な方法は何ですか? sh に似たすべてのシェルで動作するはずです。私が今していることは次のようなものです:
逆に、変数が空/未定義でない場合に何かを実行します。
そして、これらは私が今書いているスクリプトで機能しますが、GNU userland とbashまたはdashを備えた Linux PC よりもあいまいな環境であっても、合理的に互換性のあるshのような shellで機能する方法を知りたいです。
「うまくいくはずだ」などの意見ではなく、さまざまなシェル環境での経験があり、さまざまなやり方の落とし穴を知っている人からの「専門家の回答」を探しています。
bash - bashとdashの両方で、改行を含む文字列を確実に出力します
次のスクリプトがあります。
どちらのコマンドも、bash とダッシュの両方で機能しません。
/bin/sh が bash を指しているのか、dash を指しているのか、また、/bin/bash または /bin/dash が存在するのかがはっきりしないため、これは大きな問題です。また、改行を含む文字列をコマンドにパイプする必要があるため、文字列を分割して改行に単一の「エコー」を配置することもできません。
すべてのシェルで機能する改行を含む文字列を出力する方法はありますか?
bash - Dash シェルは、二重引用符なしで指定されたコマンドを実行できませんでした
ダッシュ シェルを使用した Ubuntu 環境のサンプル コードで問題に直面しています。
次のコード ブロックを Ubuntu Server OS のダッシュ シェルで実行すると、以下のような出力が得られました。
出力 1 :
しかし、次の変更されたコードを実行すると、以下のように正しい出力が得られました。
出力 2 :
shell - ダッシュ内のファイルから重要でないテキストを削除する
行数が多すぎるファイルがあります。
次のように構成されています。
等々。
重要な部分を取り出して新しいファイルに保存するにはどうすればよいですか? マッキントッシュからダッシュターミナルを使用しています