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

Bashコマンドシェル用に記述されたスクリプトに関する質問。エラー/構文エラーのあるシェルスクリプトについては、ここに投稿する前に、shellcheckプログラム(またはhttps://shellcheck.netのWeb shellcheckサーバー)で確認してください。Bashのインタラクティブな使用に関する質問は、スタックオーバーフローよりもスーパーユーザーで話題になる可能性が高くなります。

7
nohupとampersandの違いは何ですか
両方nohup myprocess.out &またはmyprocess.out &myprocess.outをバックグラウンドで実行するように設定します。端末をシャットダウンした後、プロセスはまだ実行中です。それらの違いは何ですか?
242 linux  bash  nohup 


11
別のファイルにない1つのファイル内の行を見つける高速な方法?
2つの大きなファイル(ファイル名のセット)があります。各ファイルで約30.000行。file2に存在しないfile1の行をすばやく見つける方法を見つけようとしています。 たとえば、これがfile1の場合: line1 line2 line3 そして、これはfile2です。 line1 line4 line5 次に、私の結果/出力は: line2 line3 これは機能します: grep -v -f file2 file1 しかし、大きなファイルで使用すると、非常に遅くなります。 diff()を使用してこれを行うには良い方法があると思いますが、出力は行だけで、他には何もないはずです。そのためのスイッチを見つけることができないようです。 bashと基本的なLinuxバイナリを使用して、これを行う高速な方法を見つけるのを手伝ってくれる人はいますか? 編集:私自身の質問をフォローアップするために、これはこれまでにdiff()を使用して見つけた最良の方法です: diff file2 file1 | grep '^>' | sed 's/^>\ //' 確かに、もっと良い方法があるに違いない?
241 bash  grep  find  diff 



14
Bashでのエラー処理
Bashでエラーを処理するためのお気に入りの方法は何ですか?私がWebで見つけたエラー処理の最も良い例は、William Shotts、Jrがhttp://www.linuxcommand.orgで書いたものです。 Bashのエラー処理には次の関数を使用することをお勧めします。 #!/bin/bash # A slicker error handling routine # I put a variable in my scripts named PROGNAME which # holds the name of the program being run. You can get this # value from the first item on the command line ($0). # Reference: This was copied …

8
UNIXシェルスクリプトのリストから一意の値または個別の値を選択します
値の長いリストを返し、改行で区切られたkshスクリプトがあり、一意の値または個別の値のみを表示したい。これは可能ですか? たとえば、私の出力がディレクトリのファイルサフィックスであるとします。 tar gz java gz java tar class class 次のようなリストを表示したい: tar gz java class
238 bash  unique  distinct  ksh  sh 



6
成功するまでbashでコマンドを実行するにはどうすればよいですか
スクリプトがあり、ユーザーにいくつかの情報を要求したいのですが、ユーザーがこの情報を入力するまでスクリプトは続行できません。以下は、これを達成するためにループにコマンドを入れようとする私の試みですが、何らかの理由で機能しません。 echo "Please change password" while passwd do echo "Try again" done whileループの多くのバリエーションを試しました: while `passwd` while [[ "`passwd`" -gt 0 ]] while [ `passwd` -ne 0 ]] # ... And much more しかし、私はそれを機能させることができないようです。
237 bash  command  while-loop 

9
LinuxはDOSポーズに相当しますか?
ユーザーがキーを押すまで実行を一時停止したいBashシェルスクリプトがあります。DOSでは、これは「一時停止」コマンドで簡単に実行できます。スクリプトで使用できるLinuxの同等機能はありますか?
236 linux  bash  shell 

3
jqを使用してオブジェクトの変数の値に基づいてオブジェクトを選択する
次のjsonファイルがあります。 { "FOO": { "name": "Donald", "location": "Stockholm" }, "BAR": { "name": "Walt", "location": "Stockholm" }, "BAZ": { "name": "Jack", "location": "Whereever" } } 私はjqを使用しており、「場所」が「ストックホルム」であるオブジェクトの「名前」要素を取得したいと考えています。 私はすべての名前を取得できることを知っています cat json | jq .[] | jq ."name" "Jack" "Walt" "Donald" しかし、サブキーの値(ここでは"location" : "Stockholm")を考えると、特定のオブジェクトのみを印刷する方法がわかりません。
236 json  bash  jq 


9
stdoutのCOPYをbashスクリプト自体からログファイルにリダイレクトする
stdoutをファイルにリダイレクトする方法を知っています。 exec > foo.log echo test これにより、「test」がfoo.logファイルに書き込まれます。 次に、出力をログファイルにリダイレクトし、標準出力に保持します つまり、スクリプトの外部から簡単に実行できます。 script | tee foo.log スクリプト自体の中で宣言したい 私は試した exec | tee foo.log しかし、それはうまくいきませんでした。
235 bash  shell  redirect  logging 

6
「find:パスは式の前に置く必要があります:」現在のディレクトリでファイルも検索する再帰検索を指定するにはどうすればよいですか?
現在のディレクトリとそのサブディレクトリで一致するものを探すのに苦労しています。 実行するfind *test.cと、現在のディレクトリでの一致のみが表示されます。(サブディレクトリを検索しません) 私が試した場合find . -name *test.c、同じ結果が期待されますが、代わりに、サブディレクトリにある一致のみが表示されます。作業ディレクトリに一致する必要があるファイルがある場合、それは私に与えます:find: paths must precede expression: mytest.c このエラーの意味と、現在のディレクトリとそのサブディレクトリの両方から一致を取得するにはどうすればよいですか?
235 linux  bash  find 

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