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

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

16
awkコマンドで重複した$ PATHエントリを削除する
PATH環境変数からディレクトリの重複コピーを削除できるようにするbashシェル関数を作成しようとしています。 コマンドを使用して1行のコマンドでこれを実現することは可能であると言われましたがawk、その方法はわかりません。誰もが方法を知っていますか?
48 bash  shell  awk  path 


10
ファイルを変更せずにCRLFまたはLFを使用するかどうかをテストするにはどうすればよいですか?
一部のテキストファイルがLinuxモードで保持されるようにするコマンドを定期的に実行する必要があります。残念ながらdos2unix、ファイルは常に変更されます。これにより、ファイルとフォルダーのタイムスタンプが台無しになり、不要な書き込みが発生します。 私が書いたスクリプトはBashにあるので、Bashに基づいた回答を好むでしょう。

3
bashのCLICOLORおよびLS_COLORS
リストの色付けのために、.bashrcに次のセットアップがあります。 CLICOLOR = 1をエクスポート export LS_COLORS = 'no = 00:fi = 00:di = 00; 34:ln = 01; 36:pi = 40; 33:so = 01; 35:do = 01; 35:bd = 40; 33; 01: cd = 40; 33; 01:or = 40; 31; 01:ex = 01; 32:*。tar = 01; 31:*。tgz = 01; 31:*。arj = …

2
bashスクリプトでstderrメッセージを抑制します
次の(少し馬鹿げた)スクリプト名 'test1.sh'を検討してください。 #/bin/bash # sleep 10 & echo sleep pid = $! pkill sleep 実行すると、エコーの出力だけでなく、stderrでのスリープの終了に関するbashのレポートも取得されます。 $ ./test1.sh sleep pid = 3551 ./test1.sh: line 5: 3551 Terminated sleep 10 この場合、stderrへの印刷を抑制したいと思います。次のように、コマンドラインで実行できることを知っています。 $ ./test1.sh 2> /dev/null ...しかし、スクリプト内からそれを抑制する方法はありますか?(私はそれを2番目のスクリプトでラップしてラッパーにリダイレクトさせることができることを知っていますが、もっと簡単なものが必要です...)

5
bashでctrl + Tを使用する予定はありますか?
bashには、カーソルの前の最後の2文字を交換するctrl+のショートカットがあることに気付きましたT。 なぜエンジニアがこれを含めることにしたのかと思います。 以前のコンベンションから継承されましたか? または、これが一般的に使用される実用的な目的はありますか?


3
Bash:ダブルイコールvs -eq
私はbashで整数比較を行っています(ユーザーがrootとして実行されているかどうかを確認しようとしています)、それを行う2つの異なる方法を見つけました: 二重に等しい: if [ $UID == 0 ] then fi -eq if [ $UID -eq 0 ] then fi 私は> =または<bashで、唯一-geと-le、なぜそこにある=があることを理解していない==があるかどう-eq? 両側を比較する方法に違いはありますか?
47 bash  shell  arithmetic 

7
`set -x`のようなシェルオプションの値を復元する方法は?
私がしたいset -x盲目的に設定するのではその後の代わりに、それは(私はそれを設定する前の状態に戻って)私のスクリプトの先頭と「元に戻す」で+x。これは可能ですか? PS:私はすでにここでチェックしました ; 私の知る限り、それは私の質問に答えているようには見えませんでした。
47 bash  shell 

12
cdを自動的にlsにする
私はしばしば次のことをすることがわかります: %> cd bla/bla %> ls cdディレクトリに移動するたびに自動的にls。 私.bashrcはしばらくの間、いじりましたが、それを実現する方法がわかりませんでした。

5
grep出力をrmに与える
grep出力をにパイプしようとしていますがrm、役に立たないものを出力します。スイッチは必要ですrmか?またはrm、正規表現を直接提供できますか? ls | grep '^\[Daruchini'| rm rm:オペランドがありません詳細については、「rm --help」を試してください。
47 bash  grep  rm 


7
将来変更されたときに害を引き起こすことに対してbashスクリプトを強化するにはどうすればよいですか?
そこで、ホームフォルダー(より正確には、書き込みアクセス権のあるすべてのファイル)を削除しました。起こったことは、私が持っていたことです build="build" ... rm -rf "${build}/"* ... <do other things with $build> bashスクリプトで、不要になった後$build、宣言とそのすべての使用を削除しrmます。ただし、Bashは喜んでに拡張されrm -rf /*ます。うん。 私は愚かだと感じ、バックアップをインストールし、失った仕事をやり直した。恥を乗り越えようとしています。 さて、私は疑問に思う:そのような間違いが起こらないように、または少なくとも可能性が低いようにbashスクリプトを書くためのテクニックは何ですか?たとえば、私が書いていた FileUtils.rm_rf("#{build}/*") Rubyスクリプトでは、インタープリターはbuild宣言されていないことについて不平を言っていたので、言語が私を保護します。 rm相関関係に加えて、bashで検討したこと(関連する質問の多くの回答が言及しているように、問題ではありません): rm -rf "./${build}/"* それは私の現在の仕事(Gitリポジトリ)を殺したでしょうが、それ以外は何もありません。 rm現在のディレクトリ外で動作する場合、そのバリアント/パラメータ化には相互作用が必要です。(見つかりませんでした。)同様の効果。 それとも、この意味で「堅牢」なbashスクリプトを作成する他の方法はありますか?
46 bash  shell-script  rm 

13
システム管理のために複数のディレクトリを切り替える高速なコマンドラインの方法は何ですか?
システム管理のために複数のディレクトリを切り替える高速なコマンドラインの方法は何ですか?とを使用pushd .しpopdてトグルすることができますが、スタックの一番下から永久にポップするのではなく、複数を保存して循環させる場合はどうなりますか?

2
ZSHがハイライトされたパーセント記号で行を終了するのはなぜですか?
さまざまなアプリケーションでこれに気づいたことがあります。出力が早期にキャンセルされたため(たとえば、ctrl + cなど)、またはzshが新しい行の文字を埋めているためだとよく考えていました。しかし、今では好奇心が最高になりました。これはbashでこれを行うようには思えないからです。 zsh バッシュ このSequenceプログラムは、Java認定を読んでいる間に本から引用したもので、コンパイルして実行できるかどうかを確認したかっただけです。パッケージ/クラスのprintln()メソッドを使用しないことに気付きましたSystem.out。代わりに、単純な古いを使用しprint()ます。 この記号が表示される理由は、改行文字がないことですか?
46 bash  zsh  prompt  newlines 

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