問題タブ [bash]
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.
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 です。
bash - bash:バックグラウンドで複数の連鎖コマンドを開始します
bashを使用して、バックグラウンドで並列でいくつかのコマンドを実行しようとしています。これが私がやろうとしていることです:
バックティック( ``)の間の部分は、新しいシェルを生成し、コマンドを連続して実行します。つまり、元のプログラムへの制御は、最後のコマンドが実行された後にのみ戻ります。ステートメント全体をバックグラウンドで実行したいのですが(出力/戻り値は期待していません)、ループを実行し続けたいと思います。
呼び出し元のプログラム(ループを持つプログラム)は、生成されたすべてのシェルが終了するまで終了しません。
perlのスレッドを使用して、さまざまなシェルを呼び出すさまざまなスレッドを生成することもできますが、それはやり過ぎのようです...
シェルを起動し、一連のコマンドを与えて、バックグラウンドに移動するように指示できますか?
bash - Emacs シェルモードでの Bash オートコンプリート
GNOME ターミナルでは、Bash がスマートなオートコンプリートを行います。例えば
になる
Emacs シェルモードでは、明示的に source した後でも、このオートコンプリートは機能しません/etc/bash_completion
。上記の例は、有効なコマンド オプションin
ではなく、現在のディレクトリ内のファイル名として固定またはオートコンプリートします。apt-get
おそらく、これは Emacs が Tab キーの押下をインターセプトしているためです。でスマート オートコンプリートを有効にするにはどうすればよいshell-mode
ですか?
python - Mac OS X の Python インタラクティブ シェルにポンド記号 (£) を入力するにはどうすればよいですか?
更新:提案してくれてありがとう。さらに調査した後、ここで質問を再定式化しました: OS X の Python/editline: £ 記号は ed-prev-word にバインドされているようです
Mac OS XI では、ポンド記号 (£) を Python 対話型シェルに入力できません。
- Mac OS X 10.5.5
- Python 2.5.1 (r251:54863、2008 年 1 月 17 日、19:35:17)
- ヨーロッパのキーボード (£ は Shift-3)
空の Python シェルで「£」と入力しても (つまり、Shift-3 を押しても)、何も表示されません。
すでにいくつかの文字を入力した場合、たとえば
... 次に、Shift-3 を押すと、カーソル位置自体が最新のスペースの後に移動するか、カーソルと行頭の間にスペースが残っていない場合は行頭になります。
通常の bash シェルでは、Shift-3 を押すと、予想どおり「£」と入力されます。
Python インタラクティブ シェルでリテラル "£" を入力する方法を教えてください。
bash - Bashで変数によって定義された数値の範囲を反復するにはどうすればよいですか?
範囲が変数で指定されている場合、Bash で数値の範囲を反復処理するにはどうすればよいですか?
私はこれを行うことができることを知っています(Bashドキュメントでは「シーケンス式」と呼ばれます):
これにより、次のことが得られます。
1
2
3
4
5
しかし、範囲のエンドポイントのいずれかを変数に置き換えるにはどうすればよいでしょうか? これは機能しません:
どちらが印刷されますか:
{1..5}
bash - スクリプトが同時に実行されないようにする方法は?
スクリプトが一度に複数回実行されるのを防ぎたい。
私の現在のアプローチは
- 実行中のプロセスの pid を含むセマフォ ファイルを作成する
- 私のプロセスIDがそこにない場合は、ファイルを読み取ります(あなたは決して知りません...)
- 処理の最後に、ファイルを削除します
プロセスがハングするのを防ぐために、cron ジョブを設定して、ファイルが最大許容実行時間よりも古いかどうかを定期的にチェックし、プロセスがまだ実行されている場合はプロセスを強制終了します。
間違ったプロセスを強制終了するリスクはありますか?
これを全体として実行するためのより良い方法はありますか?
database - Oracle アラート ログを見つけて追跡する方法
Oracle データベースを初めて見たとき、多くの場合、最初の質問の 1 つは「アラート ログはどこにあるのか?」です。Grid Control で確認できますが、多くの場合、環境では利用できません。
しばらく前に、アラート ログを見つけて追跡するためにいくつかの bash および Perl スクリプトをブログに投稿しましたが、その投稿がまだ多くのヒットを記録していることに驚いています。
使用される手法は、v$parameter から background_dump_dest を検索することです。ただし、これは Oracle Database 10g でのみテストしました。
これよりも良いアプローチはありますか?そして、これが11gでも機能するかどうかは誰にもわかりませんか?
linux - Bash スクリプトを実行せずに構文チェックするにはどうすればよいですか?
実行せずにbashスクリプトの構文をチェックすることはできますか?
Perl を使用して、実行できますperl -c 'script name'
。bash スクリプトに相当するコマンドはありますか?
bash - bashでブロックせずに名前付きパイプから読み取るパイプラインを設定する
パイプの反対側が接続を受信するのを待って open() 呼び出しがハングしないように、特定のパイプに対して開かれたファイル記述子を使用してサブプロセスを呼び出したいと考えています。
デモンストレーションするには:
この場合、some_program
何らかのプロセスが/tmp/foobar.pipe
書き込み用に開かれるまで実行されません。ただし、some_program
コマンドを受信していない場合でも有用な効果があるため、目的の動作をsome_program
すぐに実行する必要があります。
/tmp/foobar.pipe
代替スクリプト言語 (python、perl など) またはフラグで開く C ラッパーを介して実行することでこれを行うメカニズムO_NONBLOCK
は明らかです。可能であれば、純粋なbashソリューションを探しています。
linux - 「at」コマンドを実行すると、コマンドが sh 経由で実行されることが常に警告されるのはなぜですか?
「at」コマンドを使用するたびに、次のメッセージが表示されます。
それは何について私に警告しようとしていますか? さらに重要なことに、警告をオフにするにはどうすればよいですか?