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

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

2
すでに実行中のスクリプトからstderrをリダイレクトします
私は数日前からスクリプトを実行しています。stdoutをにリダイレクトしましたが$HOME/mylog、stderrには何もないと思ったため、stderrをリダイレクトしませんでした。突然何千もの行がstderrで出てきたので、私は仕事を中断しました。$HOME/myerrスクリプトを再起動することなく、これからstderrにリダイレクトできる方法はありますか? ボックスにsudoアクセスがあり、それはOS Xです。 おそらくdtoolsトラップを使用しているものでしょうか? スクリプトがこれまでに行った作業を失い、最初からやり直すことはできません。ディスク上の「メモリ内オブジェクトをダンプ」し、プログラムをフリーズし、変数(ファイル記述子など)を編集し、新しいコンテキストで再開する方法はありますか?

3
10進数をASCII文字に印刷すると、コマンドが意図したとおりに出力されません
次のコマンドですべてのASCII文字の文字列を出力したかった for i in `seq 32 127`; do printf "%c" $i; done 上記のコマンドの出力は次のとおりです。 33333334444444444555555555566666666667777777777.............. これは、各番号の最初の(左から)桁です。 このサイトを見ると、私の問題に対する答えが見つかりました。CLIですべての印刷可能なASCII文字を印刷するにはどうすればよいですか?ただし、元のスニペットが意図したとおりにASCII文字を出力しない理由はまだわかりません。


2
環境変数とコマンドの間にセミコロンを使用する場合
誰でもセミコロンがLANGbashによって更新されたと見なされるために必要な理由を説明できますか? 動作しません: > LANG=Ja_JP bash -c "echo $LANG" en_US 作品: > LANG=Ja_JP ; bash -c "echo $LANG" Ja_JP Linux上のbash 4.1.10とcygwinの同じバージョンの両方で作業しています

4
テキストで正規表現を強調表示するコマンド?
テキスト内の特定の表現を強調表示するコマンドはありますか? 私は「検索」機能のようなものをより少ないもので探していますが、lessビューアではなく標準出力に通常のテキストを出力します。 例: $ cat test.txt | highlight "an" 見通しAfghから秩序NATOの撤退は、ISTは、カルザイ大統領のように苦しんで2つの挫折は、DEM 、米国軍のDED制限タリブをd 和平交渉を停止します。 色またはその他の手段を使用して、指定された正規表現を強調表示できます。

4
変数展開のあるbashスクリプトで-execを見つける
bashスクリプトで次のようなコマンドを実行しようとしています。のすべてのサブフォルダーを検索し$sourcedir、特定の種類のすべてのファイルをのルートレベルにコピーする必要があります$targetdir。 #!/bin/bash # These are set as arguments to the script, not hard-coded sourcedir="/path/to/sourcedir" targetdir="/path/to/targetdir" find "$sourcedir" -type f -name "*.type" -exec sh -c 'cp "$1" "$2/`basename "$1"`"' "{}" "$targetdir" \; ことを除いて、これは、かなり近いように思える{}ように渡されていない$2と-exec sh -c ... これをできる限り「正しい方法」に近づけ、ファイル名の特殊文字(具体的には一重引用符文字)の許容範囲内で行いたいと思います。 編集:私は人々がxargs引数チェーンを使用することを提案しているのを見ます。私は、これは限られた数の議論に対してのみ大丈夫であるという印象を受けていました。たとえば、多数のギャラリーディレクトリから巨大なスライドショーディレクトリにコピーしようとしている数千の.jpgファイルがある場合、引数をチェーン化したソリューションは引き続き機能しますか? 編集2:私の問題は_、-execコマンドでshする最初のオプションの前に行方不明でした。findコマンドを機能させる方法に興味がある人は_、すべて追加してください。 find "$sourcedir" -type f -name "*.type" -exec sh -c 'cp "$1" "$2"' …

1
パイプラインを使用した複数行のbashコマンドで、別々の行に読みやすいコメントがありますか?
パイプラインを使用してシェルスクリプトを作成し、バックスラッシュを使用して行を継続する場合、堅牢で読みやすく、移植可能な方法でコメントを別の行に挿入したいと思います。 たとえば、次のコメントなしの複数行コマンド(わかりやすくするために@DigitalRossから盗まれました)を考えます。 echo abc | tr a-z A-Z | sort | uniq ...以下は私が達成したいものに審美的に最も近いものですが、明白な理由で機能しません...そしてはい、これは通常コメントする価値のあるものではないことをよく知っています: # Perform critical system task. # NOTE - An example of what does *not* work. echo abc | # Convert lowercase to uppercase. tr a-z A-Z | # Sort the results. sort | # Only show unique …
14 bash  shell  pipe 

4
コマンドモードにデフォルト設定するBash viモード構成
最初に挿入モードではなくコマンドモードになるようにbash viモードを構成することは可能ですか?私はあまりにも多くを押す必要があります。zshでこれを指定する可能性があるようですが、bash / readlineでこれを行う方法を見つけていません。Esc
14 bash  vi 


1
あるエイリアスは別のエイリアスに影響しますか?
.bash_aliasesファイルにはまだ多くのエイリアスが設定されていません。最近になって、それらがどれほど便利かを発見しました。 自分がエイリアスに夢中になっているのを見ることができるので、ファイルが扱いにくくなる前に、非常に簡単な質問をして何かを明確にしたいと思います。あるエイリアスは別のエイリアスに影響しますか、またはエイリアスは常に元のコマンドに戻りますか? 例はこれをより明確にするかもしれません: にlsエイリアスを作成しましたls -lF。私もエイリアスにdしたいとしましょうls -l | grep -E "^d":d今使用ls -lFの代わりにls?もしそうなら、それは.bash_aliases構成ファイルの順序の問題ですか? man alias 私を啓発しませんでした
14 bash  alias 

3
Pythonスクリプトの引数に有効なタブ補完をbashに伝える方法
プログラムhello.pyがあり、有効な引数の1つがあるとします。 ./hello.py autoawesomesauce 次のように入力できます: ./hello.py auto[tab] その時点で、部分的に完了した引数がhelloに送信され、helloはそれを認識し、シェルで次のように完了します。 ./hello.py autoawesomesauce gitがこのようなことをすることは知っていますが、Pythonスクリプト+ Bashで実行できますか?


8
EXIFデータを指定して、写真の名前を変更するにはどうすればよいですか?
すべての写真に正しいEXIF情報が含まれていて、写真にランダムな名前が付けられているとします(問題があったため)。jhead以下の出力を提供する小さなプログラムがあります: $ jhead IMG_9563.JPG File name : IMG_9563.JPG File size : 638908 bytes File date : 2011:02:03 20:25:09 Camera make : Canon Camera model : Canon PowerShot SX210 IS Date/Time : 2011:02:03 20:20:24 Resolution : 1500 x 2000 Flash used : Yes (manual) Focal length : 5.0mm (35mm equivalent: 29mm) …
14 bash  rename  python  exif 

1
条件正規表現エラー
string=123456 if [ $string == 123456 ]; then echo 123 fi これは正常に機能しますが、==を=〜に変更すると、このエラーが発生します。 ./test: line 3: [: =~: binary operator expected

5
bashで文字列にインデックスを付ける
sh / bashのインデックスで文字列を参照するにはどうすればよいですか?つまり、基本的にそれを分割します。 ファイル名の5文字を​​削除しようとしています。すべての名前の構造は、name_nr_codeです。5つの英数字コードビットを削除しようとしています。name_nr_常に10文字です。 ようなものがあります; for i in * ; do mv "$i" "$i"[:10] ; done
14 bash  shell  string 

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