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

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


5
grepの結果から数値を追加する
次のコマンドを実行します。 grep -o "[0-9] errors" verification_report_3.txt | awk '{print $1}' そして、私は次の結果を得る: 1 4 0 8 各数値を実行中のカウント変数に追加したいと思います。誰かが私を構築するのに役立つ魔法のワンライナーはありますか?
23 bash  shell  grep 

7
大きなスクリプトを複数のスクリプトに分割し、それらをメインスクリプトに取り込むのは一般的ですか?
現時点では、より大きなBashスクリプト(私のオープンソースプロジェクト)を開発しており、混乱になり始めています。ロジックを関数に分割し、ローカル変数を使用して、ほんの一握りのグローバル変数を宣言しただけです。それでも、メンテナンスはかなり難しくなっています。 スクリプトを複数のスクリプトに分割し、メインスクリプトでソース化することを考えました(他の言語でのインポートと同様)。 しかし、これは実行可能なアプローチかどうか疑問に思います。第一に、複数のスクリプトを調達すると、スクリプトの実行時間が大幅に遅くなる可能性があり、第二に、配布が難しくなります。 だから、これは良いアプローチですか?他の(オープンソース)プロジェクトも同じようにやっていますか?
23 bash 

3
bash-私はできる:見つける…-execこの&& that?
find-execで呼び出される2つのシェルコマンドを論理的に結合する方法はありますか? たとえば、文字列fooとその出現を含むすべての.csvファイルを出力するには、次のようにします。 find . -iname \*.csv -exec grep foo {} && echo {} \; しかし、bashは「-execの引数がありません」と文句を言います
23 bash  find 

8
スクリプトが手動で起動されるのではなく、cronによって起動されているかどうかを確認します
cronがプログラムを実行するときに設定する変数はありますか?スクリプトがcronで実行される場合、一部をスキップしたいと思います。それ以外の場合は、それらのパーツを呼び出します。 Bashスクリプトがcronによって開始されたかどうかを知るにはどうすればよいですか?
23 bash  shell  scripting  cron 


10
/ dev / sdXが接続されたUSBまたはHDDであるかどうかを知る方法は?
ローカルHDDまたはUSBキーであるかどうかを確認するにはどうすればよいですか?ルート権限なしでこれを行う方法を好む。/dev/sdX OK、udevadm大いに助けました: ローカルHDDの場合: udevadm info --query=all --name=sdb | grep ID_BUS E: ID_BUS=ata USBキーの場合: udevadm info --query=all --name=sdc | grep ID_BUS E: ID_BUS=usb

6
シェルプロンプトの現在のディレクトリを短縮しますか?
vim 少し長いときにパスで利用する本当に素晴らしい機能があります: 上部のタブにあるドキュメントへのパスを短縮します。私のbashプロンプトがこのように見えないように、これに似た何かをする方法があります: rfkrocktk@work-laptop ~/Documents/Projects/Work/maventest/src/main/java/com/tkassembled/ $
23 bash  prompt 

7
ログインシェルに表示される内容を変更するにはどうすればよいですか?
プロンプト(.bashrc)を使用してシェルの外観を調整する方法に慣れてきましたが、最初にログインしたときに表示される最初のものを変更しようとしています。EC2インスタンスでは、これが表示されますログインする: __| __|_ ) Fedora 8 _| ( / 32-bit ___|\___|___| Welcome to: Wowza Media Server 2 for Amazon EC2 Version: 2.0.0.08 自宅のMintコンピューターで、ログインすると次のように表示されます。 Welcome to Linux Mint 11 Katya (GNU/Linux 2.6.38-8-generic x86_64) Welcome to Linux Mint * Documentation: http://www.linuxmint.com Last login: Tue Jun 21 17:44:05 2011 これはどこで定義されていますか?いくつかの狂ったASCIIアートアクションのためにどうすればそれを微調整できますか?
23 bash  login  prompt  profile 

7
サブシェルなしで複数の条件でない場合はbash?
シェルのifステートメントで複数の条件を組み合わせて、組み合わせを否定したい。条件の単純な組み合わせのための次の作業コードがあります。 if [ -f file1 ] && [ -f file2 ] && [ -f file3 ] ; then # do stuff with the files fi これは正常に機能します。無効にする場合は、次の作業コードを使用できます。 if ! ( [ -f file1 ] && [ -f file2 ] && [ -f file3 ] ) ; then echo "Error: You done …

3
現在のbashセッションで開いているファイル記述子(およびそれらが参照するファイル)をリストする方法
インタラクティブなbashセッションで実行しています。execを使用していくつかのファイル記述子を作成しました。bashセッションの現在のステータスを一覧表示したいと思います。 現在開いているファイル記述子をリストする方法はありますか?


3
Bashで起こりうるバグ?:foo(){echo“ $ {var [0]}”; }; var =(bar baz)foo
OS:Ubuntu 16.04.3 シェル:Bash 4.3.48 のように変数の内容を一時的に変更することが可能であることを知っています。var=value commandおそらくこれIFS= read -r varが最も顕著なケースです。 そして、グレッグのウィキのおかげで、私も理解しています: # Why this foo() { echo "$var"; } var=value foo # And this does work var=value; echo "$var" # But this doesn't var=value echo "$var" 私の理解を逃れるのはこれです: $ foo() { echo "${var[0]}"; } $ var=(bar baz) foo (bar baz) 私の知る限り(そして前の例のロジックに従って)、印刷すべきであり、ではbarありません(bar baz)。 …
22 bash  array 

2
ゼロ以外のコードで終了する私の端末のコマンドは、端末ウィンドウを閉じます
最初は「バッシュルーレット」をプレイするように少し面白かったのですが... ゼロ以外のコードで終了する私の端末のコマンドは、端末ウィンドウを閉じます おそらくset -e、端末のソースをどこかにbashスクリプトで設定したと言われました。 .bash_profile/ .bashrc/ .profileを確認しましたset -eが、そこにあるようには見えません。 他に明らかな犯人はいますか?

1
すべてのbashコマンドの後にスクリプトを呼び出す方法
この例hey.shで、bashコマンドごとに名前が付けられたスクリプトを呼び出すことはできますか? たとえば、lsヒットEnter キーを押してlsを実行すると、hey.sh実行されます。 次にcd .. (または他のコマンド)と入力し、cdを実行してからhey.sh実行します。
22 bash 

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