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

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

10
複数行の出力を1行に連結する方法は?
コマンドを実行すると、cat file | grep pattern何行もの出力が得られます。すべての行を1行に連結して、各行"\n"を"\" "(末尾に"スペースが続く)で効果的に置き換えるにはどうすればよいですか? cat file | grep pattern | xargs sed s/\n/ /g 私のために働いていません。
158 linux  bash  unix  grep  tr 

6
文字列をstdinに送信する
これをbashで効果的に行う方法はありますか? /my/bash/script < echo 'This string will be sent to stdin.' 次のようなエコーからの出力をパイプ処理できることを知っています。 echo 'This string will be piped to stdin.' | /my/bash/script

15
特定の拡張子を持つファイルを削除するためにディレクトリを再帰的にループする方法
ディレクトリを再帰的にループし、拡張子が.pdfとのすべてのファイルを削除する必要があります.doc。私はディレクトリを再帰的にループするように管理していますが、上記のファイル拡張子を持つファイルをフィルターにかけることはできません。 これまでの私のコード #/bin/sh SEARCH_FOLDER="/tmp/*" for f in $SEARCH_FOLDER do if [ -d "$f" ] then for ff in $f/* do echo "Processing $ff" done else echo "Processing file $f" fi done どこにも行かないので、コードを完成させるのに助けが必要です。
157 bash 

16
bashの最新のXファイル以外をすべて削除します
bashを使用したかなり標準的なUNIX環境で、最新のXファイル以外のすべてをディレクトリから削除するコマンドを実行する簡単な方法はありますか? もう少し具体的な例を示すために、あるcronジョブが1時間ごとにファイル(たとえば、ログファイルまたはtar-upされたバックアップ)をディレクトリに書き込むことを想像してください。5未満になるまで、そのディレクトリ内の最も古いファイルを削除する別のcronジョブを実行する方法が欲しいのですが。 また、明確にするために、ファイルは1つしか存在しないため、削除しないでください。
157 bash  unix  scripting 

30
Bashを使用して最もお気に入りのコマンドライントリックは何ですか?[閉まっている]
ここで何が尋ねられているのかを知るのは難しい。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 9年前休業。 ロックされています。この質問とトピックへの回答はロックされています。質問はトピックから外れていますが、歴史的に重要です。現在、新しい回答や相互作用を受け入れていません。 私たちは皆<ctrl>-R、履歴を逆検索する方法を知っていますが、設定する<ctrl>-Sと順方向検索に使用できることを知っていましたstty stop ""か?また、bind -pを実行して、すべてのキーボードショートカットを一覧表示したことがありますか?Mac OS Xには、デフォルトで455以上あります。 bashを使用した最もお気に入りの1つのあいまいなトリック、キーボードショートカット、またはショップ構成は何ですか?
156 bash  command-line 

17
Cygwinでのrootユーザー/ sudoの同等物?
Cygwinでbashスクリプトを実行しようとしています。 Must run as root, i.e. sudo ./scriptnameエラーが発生します。 chmod 777 scriptname 助けには何もしません。 Cysuでsudoを模倣する方法、ルートユーザーを追加する方法を探しました。 "su"を呼び出すとエラーが表示されsu: user root does not exist、何も有用で何も見つかりません。 誰か提案がありますか?
156 bash  cygwin  root  sudo 

2
stdoutとstderrの両方をbashでパイピングしていますか?
新しいバージョンのbashには、&>(私が正しく理解していれば)stdoutとstderrの両方をファイルにリダイレクトする演算子があるようです(&>>Adrianが明確にしたように、代わりにファイルに追加します)。 同じことを達成する最も簡単な方法は何ですか?代わりに別のコマンドにパイプしますか? たとえば、次の行では: cmd-doesnt-respect-difference-between-stdout-and-stderr | grep -i SomeError grepがstdoutとstderrの両方のコンテンツと一致するようにしたい(実際には、それらを1つのストリームに結合させる)。 注:この質問は、配管について尋ねているではないリダイレクトする-それはそれは、現在の重複としてマークされています質問の重複しないようにします。
156 bash  stdout  stderr  piping 

9
渡された引数がBashのファイルまたはディレクトリかどうかを確認します
Ubuntuで非常に単純なスクリプトを記述しようとしています。これにより、ファイル名またはディレクトリのいずれかを渡して、ファイルの場合は特定の処理を行い、ディレクトリの場合は別の処理を行うことができます。私が抱えている問題は、ディレクトリ名、またはおそらくファイルも、名前にスペースまたは他の回避可能な文字が含まれている場合です。 以下に、私の基本的なコードといくつかのテストを示します。 #!/bin/bash PASSED=$1 if [ -d "${PASSED}" ] ; then echo "$PASSED is a directory"; else if [ -f "${PASSED}" ]; then echo "${PASSED} is a file"; else echo "${PASSED} is not valid"; exit 1 fi fi そしてここに出力があります: andy@server~ $ ./scripts/testmove.sh /home/andy/ /home/andy/ is a directory andy@server~ $ ./scripts/testmove.sh …
156 bash  shell 

17
Bashで2つの浮動小数点数を比較する方法は?
私はbashスクリプト内で2つの浮動小数点数を比較しようと頑張っています。私は変数にする必要があります、例えば let num1=3.17648e-22 let num2=1.5 ここで、これら2つの数値を簡単に比較したいと思います。 st=`echo "$num1 < $num2" | bc` if [ $st -eq 1]; then echo -e "$num1 < $num2" else echo -e "$num1 >= $num2" fi 残念ながら、「e-フォーマット」の可能性があるnum1の正しい扱いに問題があります。:( 任意の助け、ヒントは大歓迎です!

14
端末のコマンドラインでカーソルを移動する最速の方法は?
ターミナルで与えられた非常に長いコマンドラインを移動する最良の方法は何ですか? 矢印キーまたはCtrl- を使用して、Rこの長いコマンドラインを取得するとします。 ./cmd --option1 --option2 --option3 --option4 --option5 --option6 --option7 --option8 --option9 --option10 --option11 --option12 --option13 --option14 --option15 --option16 --option17 --option18 --option19 --option20 --option21 --option22 --option23 --option24 --option25 --option26 --option27 --option28 --option29 --option30 --option31 --option32 --option33 --option34 --option35 --option36 --option37 --option38 --option39 --option40 --option41 --option42 --option43 --option44 --option45 --option46 …
155 bash  terminal  window 

6
ファイルが見つからなかったことをrmが報告しないようにするにはどうすればよいですか?
rm多くのファイルを削除するためにBASHスクリプト内で使用しています。ファイルが存在しない場合があるため、多くのエラーが報告されます。このメッセージは必要ありません。rm静かにするコマンドをマニュアルページで検索しましたが-f、見つかった唯一のオプションは、説明から「存在しないファイルを無視し、プロンプトを表示しない」が正しい選択のようですが、名前が合わないようです、それで私はそれが意図しない結果になるかもしれないと心配しています。 ある-fオプションは沈黙に正しい方法rm?どうして呼ばれないの-q? このオプションは他に何をしますか?
155 bash  rm 

14
1つを除くすべてのファイルを移動する
1つを除くすべてのファイルを移動するにはどうすればよいですか?私は次のようなものを探しています: 'mv ~/Linux/Old/!Tux.png ~/Linux/New/' 古いものを新しいものフォルダに移動する場所を除いてTux.png。!記号は否定を表します。仕事のためのツールはありますか?
155 linux  bash  glob 

4
タブをクリックしたときのシェル初期化の問題、getcwdの何が問題になっていますか?
bashで[タブ]をクリックすると、エラーメッセージが表示されますが、何が問題なのですか? symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success symlink-hook: …
153 linux  bash  shell  pwd  getcwd 

6
特定のテキストを含むファイルを検索する
bashでは.php|.html|.js、大文字と小文字を区別しない文字列を含むタイプのすべてのファイルのファイル名(およびファイルへのパス)を返したい"document.cookie" | "setcookie" どうすればいいですか?
153 bash  find 

6
コマンドラインを介したGit commitメッセージでの感嘆符の使用
コマンドラインからGit commitメッセージに感嘆符を入力するにはどうすればよいですか? バックスラッシュで感嘆符をエスケープすることは可能ですが、バックスラッシュはコミットメッセージにも含まれます。 私はこのようなものが欲しい: git commit -am "Nailed it!"
152 git  bash 

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