問題タブ [sh]

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

bash - autoconf で sh を使用する場合、SHELL=BASH が必要です。autoconf で bash を使用するにはどうすればよいですか?

autoconf を実行していて、configure で SHELL を「/bin/sh」に設定しています。これは大きな問題を引き起こします。autoconfのためにSHELLを強制的に「/bin/bash」にする方法は?

これを osx で実行しようとしていますが、Linux で動作しています。Linux は SHELL=/bin/bash を使用しています。osx のデフォルトは /bin/sh です。

0 投票する
7 に答える
62661 参照

shell - Bourne Shell で文字列を比較するにはどうすればよいですか?

シェルで文字列を比較する必要があります:

しかし、明らかに「*」はシェルでは機能しません。それを行う方法はありますか?

0 投票する
27 に答える
2626233 参照

string - Bashで文字列に部分文字列が含まれているかどうかを確認する方法

Bashに文字列があります:

別の文字列が含まれているかどうかをテストするにはどうすればよいですか?

??不明なオペレーターはどこですか。と を使用echogrepますか?

それは少し不器用に見えます。

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

bash - スクリプト自体内でシェルスクリプト全体の出力をリダイレクトする方法は?

Bourne シェル スクリプトのすべての出力をどこかにリダイレクトすることは可能ですが、スクリプト自体の中にシェル コマンドを使用することはできますか?

1 つのコマンドの出力をリダイレクトするのは簡単ですが、次のようなものが必要です。

意味: スクリプトが非対話的に実行される場合 (たとえば、cron)、すべての出力をファイルに保存します。シェルから対話的に実行する場合は、出力を通常どおり stdout に送信します。

FreeBSD定期ユーティリティによって通常実行されるスクリプトに対してこれを実行したいと考えています。これは日常の一部であり、通常はメールで毎日見るのは気にしないので、送信していません。ただし、この特定のスクリプト内の何かが失敗した場合、それは私にとって重要であり、日常業務のこの部分の出力をキャプチャして電子メールで送信できるようにしたいと考えています.

更新: ジョシュアの答えは的を射ていますが、スクリプト全体で stdout と stderr を保存して復元したいと考えていました。これは次のように行われます。

0 投票する
4 に答える
4095 参照

java - Unix での Java のコンパイルと実行 (Windows から)

わかりました、これはWindowsで動作しています。私の Java アプリは正常に実行され、機能しています

ただし、Unix で同じことを行うと、次のエラーが表示されます: ojdbc14.jar: not found

私は何を間違っていますか?私は「;」を知っています ojdbc14.jar が新しいコマンドであることをシェルに伝えていますが、これを修正する方法がわかりません。

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

shell - bourne シェルのユーザー定義関数内で getopts を使用する

getopts がそれらを処理できるようにするために、コマンドライン引数を bourne スクリプト内から関数に渡すことは可能ですか?

スクリプトの残りの部分は関数にうまくまとめられていますが、引数の処理をメイン ロジックに移動する必要があるように見え始めています。

以下は現在の記述方法ですが、機能しません。

スクリプトの引数を読み取れるように関数を定義することは可能ですか? これを他の方法で行うことはできますか?私は getopts の機能が気に入っていますが、この場合、それを取得するにはコードの美しさを犠牲にする必要があるようです。

0 投票する
9 に答える
14212 参照

shell - / bin/shで2つのリストを並行して反復します

同じ長さのリストが2つあり、個々のアイテムにスペースはありません。

これらの2つのリストを並行して繰り返し、aと1、bと2などをペアにします。

最新のポータブルBourneシェルをサポートしようとしているため、Bash/kshアレイは使用できません。awkに砲撃することはピンチで許容されますが、可能であれば、これを純粋なshで維持したいと思います。

あなたが提供できるどんなポインタにも感謝します!

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

bash - For Loop in Shell Script - csv ファイルにブレークラインを追加

forシェルスクリプトでループを使用しようとしています。

テキストファイルからコマンドを実行しています。各コマンドを 10 回実行し、いくつかの統計を csv ファイルに挿入したいと考えています。そのコマンドが実行された後、次のコマンドを開始したいのですが、10 回実行された最初のコマンドの後に CSV ファイルに改行を入れます。

次は正しいですか。

助けてくれてありがとう

アップデート

ループは正しく実行されていますが、各コマンドが 10 回実行された後に改行を追加することはできません。

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

shell - コマンドの出力を Bourne シェルのファイル記述子にキャプチャするにはどうすればよいですか?

Bourne シェルでコマンド出力をキャプチャする標準的な方法は、次の$()構文を使用することです。

ただし、大量の出力があるコマンドの場合、これには、シェルが全体に 1 つの長い文字列としてメモリを割り当てる必要があります。popen私ができる新しいファイル記述子を取得するために、Unix C function と道徳的に同等のことをするものを見つけたいと思いますread:

これは可能ですか?

0 投票する
6 に答える
11205 参照

bash - Bash のすべてのマッチで ^word^replacement^?

明確にするために、以前に使用したコマンドでグローバル検索と置換を実行する方法を探しています。^word^replacement^最初の一致のみを置き換えるようです。

私を逃れているいくつかのsetオプションはありますか?