タグ付けされた質問 「bash」

他のBourne / POSIXシェルとは対照的に、GNUのBourne Again SHellに固有の質問。Unixシェル全般に関する質問については、代わりに/ shellタグを使用してください。

3
Ctrl + Cでキャンセルするプロセスを制御する
Linuxで起動し、小さなBashスクリプトを実行するライブCDがあります。スクリプトは、2番目のプログラム(通常はコンパイル済みのC ++バイナリ)を検索して実行します。 Ctrl+ を押すと、2番目のプログラムを中止できますC。何をすべき起こることは、第2のプログラムを停止していることである、とBashスクリプトがクリーンアップを実行し続けます。どのような実際に起こることは、メインアプリケーションとBashスクリプトの両方が終了していることです。これは問題です。 そこで、trap組み込みを使用してBashにSIGINTを無視するように指示しました。そして今Ctrl+ CC ++アプリケーションを終了しますが、Bashは実行を続けます。すごい。 そうそう...時々、「2番目のアプリケーション」は別のBashスクリプトです。そして、中にいる場合、Ctrl+ C今行わない全く何も。 明らかに、このようなものがどのように機能するかについての私の理解は間違っています...ユーザーがCtrl+を押したときにどのプロセスがSIGINTを取得するかを制御するにはどうすればよいCですか?私はこの信号を1つの特定のプロセスに向けたいです。
13 bash  signals 


2
複数のプロセス間の通信
私はmanager()関数をx回の個別のプロセスとして実行するbashスクリプトを持っています。スクリプト内からすべてのmanager()プロセスにメッセージを転送するにはどうすればよいですか? 匿名パイプについて読んだことがありますが、メッセージを共有する方法がわかりません。名前付きパイプでそれをやろうとしましたが、プロセスごとに個別の名前付きパイプを作成する必要があるようです。 これを行う最もエレガントな方法は何ですか? これまでの私のコードは次のとおりです。 #!/bin/bash manager () { while : do echo "read what has been passed to \$line" done } x=1 while [ $x -le 5 ] do manager x & x=$(( $x + 1 )) done while : do while read line do echo "What has been passed …

1
bashで端末セッションのコマンド履歴を同期する方法は?
~/.bash_historyターミナルセッション中に最近のコマンドを検索しようとしましたが、それらはそこにありませんでした。これは、複数のターミナルセッションを開いているためだと思います。 現在のターミナルセッションのコマンド履歴をbash_historyファイルに同期(つまり、sync-pushまたはsync-write-out)できる方法はありますか(セッションを閉じてその環境を失うことなく)。 (sync一部のシステムでコマンドがファイルシステムの変更を保存する方法とは、リモートでの考え方が似ています。) 複数のセッション履歴を保持するためにbashを設定できると思いますが、現在の履歴バッファをプッシュする機能は、新しいマシンで作業していて、思い通りにbashを設定するのを誤って忘れた場合に役立ちます。

2
bash / shellスクリプトの依存関係を確認する
bashスクリプトの依存関係を確認する方法/コマンドはありますか?言い換えれば、この質問に対する回答:スクリプトを実行するためにユーザーがインストールすべきライブラリはどれですか? スクリプトを読んで手動でこれを行うことができ、それが呼び出す他のライブラリ/コマンドを確認できますが、これは長いスクリプトでは明らかではありません。

4
bashの新しい行に配列の各要素がある配列をファイルに印刷する
配列の各要素をファイルの新しい行に入れて、配列の内容をファイルに入れようとしています。 IFS=$'\n' echo "${mtches[@]}" > sample1.txt mtchesの内容は「qwe」および「asd」です。ただし、sample1.txtファイルにqwe asdは1行が含まれています。なぜIFSの価値を考慮していないのですか?
13 bash 

5
Linux bashスクリプトでエラーをキャッチする方法は?
次のスクリプトを作成しました。 # !/bin/bash # OUTPUT-COLORING red='\e[0;31m' green='\e[0;32m' NC='\e[0m' # No Color # FUNCTIONS # directoryExists - Does the directory exist? function directoryExists { cd $1 if [ $? = 0 ] then echo -e "${green}$1${NC}" else echo -e "${red}$1${NC}" fi } # EXE directoryExists "~/foobar" directoryExists "/www/html/drupal" スクリプトは動作しますが、エコーのほかに、次の場合の出力もあります cd $1 …



2
正規表現量指定子を使用したコマンドの検索(例:{1,2})
1〜99の数字で終わるすべてのファイルを検索するが、他のすべてを除外する検索コマンド文字列を作成しようとしています。 例えば私が見つけたいmyfile1 myfile99なくmyfile456ないmyfilebackup 私が考えている正規表現myfile[1-9]{1,2}はありますが、これをfindで動作させることはできません。 find . -regex '.*myfile[0-9]{1,2}' または find . -iname 'myfile[0-9]{1,2}' 私が見ることができるのは、機能{1,2}していない部分です。 (ちなみに-name -regex交換可能に使用できますか?) 任意の助けに感謝します。

5
数分の1秒間スリープするループが必要
私のマシンでは、1秒の小数で表される遅延を持たなければならない1つの単純なコマンドを繰り返すサイクルを実行する必要があります。 私が必要だとしましょう: 列挙を増やしてファイルを保存するには(ファイル-0、ファイル-1、ファイル-2、...) time > file-$x ほんの一瞬で自分の時間を表現したいので、これを1/70秒ごとに(例として)行う必要があります。 どうすれば本当に正確になり、すべてをbashスクリプトで表現できますか? 分数は不確定な量を生成する可能性があるため、正確である必要があるため、少なくとも4〜5桁の小数が必要です。
13 bash  scripting 

5
リダイレクトを使用しているシェルコマンドを完全にフォークする方法
私は長年にわたってかなりの数のシェルスクリプトを書いている(しかし、私は確かにシステム管理者ではないよ)といつも私を引き起こしたことがあるの何かトラブル:どのように私はからバックグラウンドでハングアップするシェルコマンド免疫をforkできるのBashスクリプト? たとえば、これがある場合: command_which_takes_time input > output これを「nohup」してフォークするにはどうすればよいですか? 以下は私が望むことをしていないようです: nohup command_which_takes_time input > output & 私が探している構文は何ですか?理解していないものは何ですか?
13 bash  scripting  nohup  fork 

4
カラーFIND出力?
findコマンドから色付きの出力を取得することは可能ですか?つまり、見つかった各アイテムのパスでは、ディレクトリは青、実行可能なスクリプトは緑などです。GNU findutilsのバージョン4.4.2を使用しています。 編集-明確にするために、各結果は次のように強調表示されます。 ./path/to/file.sh ^ ^ ^ | | L green blue (たとえば、実行する場合find . -type f)。
13 bash  find  colors 

8
ポケットベルのローカルタイムゾーンで日付ヘッダーを表示するようにmuttを構成するにはどうすればよいですか?
ページャーでメッセージを表示すると、ローカルゾーンではなくUTCで日付ヘッダーに時刻が表示されます。インデックスビューには、現地時間が正しく表示されます。画面の下部にあるステータスバーに現地時間を表示する方法を説明するこの古いメーリングリストの投稿を見つけましたが、これでも画面上部のDateヘッダーの時刻を「修正」しません。ページャーにDateヘッダー時間を現地時間に変換する方法はありますか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.