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

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


4
複数の引数を取るスクリプトを作成するにはどうすればよいですか?
これは非常にシンプルなスクリプトです #!/usr/local/bin/bash set -e if [ "$#" -lt 1 ] then echo "Please insert at least one argument" exit else echo -e "\c" fi if [ -h "$1" ] then echo "$1 is a symbolic link" else echo "$1 in not a symbolic link" fi 〜 私の質問は、複数の引数を認識するためにスクリプトを変更する方法ですか?4つのファイルがあり、スクリプトに戻りたい $1 is a …

2
bashの `/ dev / udp`を使用して、ポートが開いているかどうかを知るにはどうすればよいですか?
私はへのアクセス権がありませんnetcatか、nmap私が使用しようとしているので、bashおよび/dev/udp/テスト・ポートに特別なファイルを。 私は次のようなことができます: echo "" > /dev/udp/example.com/8000 ただし、UDPを使用する場合$?は常にそう0です。私はそれがecho ""コマンドの戻り値が正しいからだと仮定していますか? 私は基本的に私が行うことができる午前何を複製しようとしていますnmapとnetcat: nmap -sU -p 8000 example.com | grep open >/dev/null && echo 'open' nc -z -u example.com 8000 && echo 'open' どうすればこれができ/dev/udpますか?

2
特定のファイルより古いファイルを削除する
特定のファイルより古いすべてのファイルをフォルダーから削除する必要があります。 CentOS 7でのbashの実行。 これには解決策がありますが、もっとエレガントな方法があるはずです: reference_file=/my/reference/file get_modify_time() { stat $1 | grep -Po "Modify: \K[0-9- :]*" } pit=$(get_modify_time $reference_file) for f in /folder/0000* ; do [[ "$pit" > "$(get_modify_time $f)" ]] && rm $f ; done

5
リストからgrepファイル
数百のファイルのリストに対してgrepを実行しようとしています。 $ head -n 3 <(cat files.txt) admin.php ajax/accept.php ajax/add_note.php ただし、ファイル内で見つかったことがわかっている文字列を探していても、次のコマンドはファイルを検索しません。 $ grep -i 'foo' <(cat files.txt) $ grep -i 'foo' admin.php The foo was found ファイルからパターン-fを読み取るフラグに精通しています。しかし、入力ファイルの読み方は? 私は、ファイルを一時ディレクトリにコピーするという恐ろしい回避策を考えていたのでcp、<(cat files.txt)フォーマットをサポートしているようで、そこからファイルをgrepします。シャーリーにはもっと良い方法があります。

1
HISTTIMEFORMAT構文
多く存在するbashような追加の行が含まガイドHISTTIMEFORMAT='%d/%m/%y %T 'やHISTTIMEFORMAT="%F %T "へ~/.bashrcたりが/etc/bash.bashrc。 最終引用の前には常にスペースがあります。例えば、決してありませんHISTTIMEFORMAT='%d/%m/%y %T'。 どうしてこれなの?

1
画面がタイトルを上書きしないようにするにはどうすればよいですか?
私はcentos7 bashでGNU を使用していますscreen。別のサーバーにsshして、タイトルを変更し(ctrl+ a+を使用A)、サーバーからログアウトすると、新しいタイトルが上書きされUSER@HOST:~ます。どうすればこれをやめられますか? 私はに見てきたダイナミックなタイトルとの遊びで何と判断し、私はその機能を無効にする方法がわかりませんよ...

3
〜/ .inputrcファイルが正しくソースされていません
特定のキーバインディング用に作成したこの〜/ .inputrcファイルがあります。 # mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving "\e[1;5C":forward-word "\e[1;5D":backward-word "\e[5C":forward-word "\e[5D":backward-word "\e\e[C":forward-word "\e\e[D":backward-word 実行しようとするたびにsource ~/.inputrc、次のエラーが表示されます。 \ e [1; 5C:forward-word:コマンドが見つかりません。\ e [1; 5D:backward-word:コマンドが見つかりません。\ e [5C:forward-word:コマンドが見つかりません。\ e [5D:backward-word:コマンドが見つかりません。\ e \ e [C:forward-word:コマンドが見つかりません。\ e \ e [D:backward-word:コマンドが見つかりません。 また、新しいターミナルを開いても機能しません。エラーは表示されませんが、ctrlキーの組み合わせは新しいターミナルでも機能しません。/ etc / inputrcを変更するためのルートアクセス権がないため、このファイルを自分で作成しました。誰か助けてくれますか?ありがとう。 編集:コロン(:)記号の後にスペースがあるファイルも試しました。機能しません。また、実行可能(chmod + x〜/ .inputrc)にしようとしましたが、うまくいきませんでした。 編集:この手順は「bash」専用であり、「tcsh」を実行していることに気付きました。'csh'の場合、.bindingsfileの代わりに.inputrcfileを使用し、bindkey構文を使用します。
14 bash  tcsh  readline 

3
コマンドラインから再起動せずにUbuntuシステムプロキシ設定を設定する
を使用していUbuntu 14.04ます。http proxyコマンドラインから設定を変更したい。これは、GUIで変更し([すべての設定]-> [ネットワーク]-> [ネットワークプロキシ])、ボタンをクリックするのと同じApply System Wideです。script(bash)から設定を動的に変更することを計画しているため、システムを再起動/ログアウトしたくありません。

3
Bashのプロセス置換をHEREドキュメントと組み合わせる方法は?
Bashバージョン4.2.47(1)-releaseで、HERE-dcoumentからのフォーマットされたテキストを次のように分類しようとすると: cat <(fmt --width=10 <<FOOBAR (I want the surrounding parentheses to be part of the HERE-document) (Even the preceding unbalanced parenthesis should be part of it. FOOBAR ) # I want this paranthesis to end the process substitution. 次のエラーが表示されます。 bash: bad substitution: no closing `)' in <(fmt --width=10 <<FOOBAR (I …

2
bashスクリプトで何千ものcurlバックグラウンドプロセスを並行して実行する
次のbashスクリプトでcurlバックグラウンドプロセスを実行しています。 START=$(date +%s) for i in {1..100000} do curl -s "http://some_url_here/"$i > $i.txt& END=$(date +%s) DIFF=$(( $END - $START )) echo "It took $DIFF seconds" done 49Gb Corei7-920専用サーバー(仮想ではない)があります。 topコマンドを使用してメモリ消費とCPUを追跡しますが、それらは限界からはかけ離れています。 ps aux | grep curl | wc -l現在のcurlプロセスの数を数えるために使用しています。この数は2〜4千まで急速に増加し、その後連続的に減少し始めます。 パイピングcurlを介して単純な解析をawk(curl | awk > output)に追加すると、curlプロセスの数は1〜2千に増え、その後20〜30に減少します。 プロセスの数がそれほど劇的に減少するのはなぜですか?このアーキテクチャの境界はどこですか?
14 linux  performance  bash  curl  wget 

4
両側にコロンがある任意の長さの英数字文字列のgrep
両側にコロンが付いた1〜50文字の英数字文字列(理想的には、任意の長さでも機能します)をgrepする方法-典型的な結果は、文字列を含むすべての行になります:shopping:。これまでのところ、私は以下のコードを持っています(私はそれにいくつかのバリエーションを試しました)、それは動作しません: grep ':[[:alnum:]]{1,100}:' ~/x.txt

2
Setuidビットはbashに影響を与えないようです
私は少し実験していて、奇妙なことに気付きました:にあるbashのコピーにsetuidビットを設定/usr/bin/bash-testしても効果がないようです。のインスタンスを実行したときbash-test、ホームディレクトリがに設定されておらず/root、whoamiコマンドを実行したときにbash-test、ユーザー名が報告されず、rootとして実行されていないrootことbash-testが示唆されました。ただし、setuidビットをonに設定するwhoamiと、予想どおりシェルのルートとして報告されました。 setuidビットもオンに設定してみて/usr/bin/bash、同じ動作を観察しました。 setuidビットを設定すると、bashがrootとして実行されないのはなぜですか?selinuxはこれと何か関係がありますか?
14 linux  bash  setuid 

3
Bashで関数本体を表示する
.bashrcファイルにいくつかの機能を設定しました。すぐに何かを参照するために、関数の実際のコードを表示するだけで実行しないようにします。 方法はありますか、関数定義を見ることができますか?
14 bash  function 

12
Linux diffツール:変更されたファイルのリストを作成します
Linuxコマンドラインツールを使用してプログラムで変更されたファイルのリストを作成するにはどうすればよいですか?特定のファイル(デルタ、パッチ)の違いには興味がありません。以前の製品リリースと比較した新しいファイルまたは変更されたファイルのリストが必要です。新しい製品の更新を公開できるように。 更新:diff -qr非常に便利な出力を生成しません。の出力diff -qrも処理する必要があります。より良い方法はありますか?

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