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

BashはBourne Again SHellであり、古典的なUnix sh(シェル)の後継です。

2
EC2インスタンスの起動後にbashスクリプトを実行します
別のインスタンスをリモートで起動するスクリプトがEC2インスタンスにあります。 このインスタンスが完全にロードされたら(ブートの完了)、bashスクリプトを自動的に実行したいのですが、これを行う最良の方法は何でしょうか? すべてを完全に起動する必要があります。基本的に、bashスクリプトは画像変換スクリプトを実行します(ImageMagickを使用し、「wget」コマンドを数回実行します) 現在、スクリプトは次の場所にあります。 /home/root/beginProcess.sh そして、私はそれを手動で起動することができます bash beginProcess.sh RHEL-6.2-Starter-EBS-i386 また、これにEBSボリュームが添付されています。これが役立つ場合は、ありがとうございます。
19 linux  amazon-ec2  bash  boot 

4
通常のユーザーは/ etc / passwdを読み取ることができますが、これはセキュリティホールですか?
サーバーフォールトで回答できるため、 この質問はStack Overflowから移行されました。 8年前に移行され ました。 ls -l /etc/passwd 与える $ ls -l /etc/passwd -rw-r--r-- 1 root root 1862 2011-06-15 21:59 /etc/passwd したがって、一般ユーザーはファイルを読み取ることができます。これはセキュリティホールですか?
19 linux  security  bash  root 

6
画面を強制終了します(すべての画面ではありません)
Ubuntuサーバーで実行されている複数の画面があり、それらは次のように開始されます。 screen -dmS screen1 cmd screen -dmS screen2 cmd etc... そして、私は1つの画面を殺す必要がありますが、それらすべてを殺す必要はありません。特定の画面をその名前で強制終了する正しいコマンドは何ですか?マニュアルページを読みましたが、探しているコマンドが見つからないようです。 また、このコマンドをbashスクリプトに書き込みたいので、通常のように単純screen -r screen1にCtrl+ Xを押すことはできません。
19 bash  gnu-screen  kill 

4
Mac OS Xのシェルスクリプトで絶対ファイル名を取得するにはどうすればよいですか?
現在実行されているスクリプトファイルの絶対ファイル名を取得したいと思います。リンクも解決する必要があります。 Linuxでは、これは次のように行われるようです。 $(readlink -mn "$0") しかし、readlink動作しているように非常にはMac OS X上では異なります 私はこれを使用して行われたことを読みました $(realpath $0) BSDでも動作しません。Mac OS Xにはありませんrealpath。 何か案が?
19 mac-osx  bash  shell 

5
ファイル名を期待するコマンドにパイプを渡します
fooファイル名の引数を取るコマンドがあるとします:foo myfile.txt。迷惑なことに、foo標準入力からは読み取りません。実際のファイルの代わりに、別のコマンドの結果を渡します(実際にpvは、ファイルをcatし、副作用として進行状況メーターを出力します)。 これを実現する方法はありますか?私の手品のなにも何もしないようです。 (fooこの場合、PHPスクリプトは、ファイルを順番に処理すると信じています)。 UbuntuとBashを使用しています 編集少し不明瞭な問題の説明で申し訳ありませんが、私が望むことをする答えは次のとおりです: pv longfile.txt | foo /dev/stdin 今私はそれを見ることが非常に明白です。
19 bash  pipe  command 

3
サイズ制限のあるファイルを圧縮する方法は?
フォルダーからファイルを圧縮するスクリプトがあります。zipファイルが10 MBを超えないようにします。サイズが10MBを超える場合、別のZIPファイルを作成する必要があります。 これに使用できるコマンド(または他の方法)はありますか?
19 linux  bash  gzip 

1
通常、$ BASH_ENVはどこに設定されますか?
同じように構成する必要があるツインLinuxサーバーがありますが、それらの1つに対するsshコマンドは、〜/ .bashrcで指定されたパスを必要とするコマンドに対して失敗します。たとえば、pwd対話型とsshの両方のようなコマンドを使用できますが、アプリケーションbinフォルダーにあるプログラムを実行しようとすると、いずれかのサーバーの対話型シェルでのみ機能します。 両方のサーバーの/ etc / profileファイルと/ etc / environmentファイルは同じですが、$ BASH_ENVは適切に動作しているサーバーで〜/ .bashrcに設定されます。動作していないサーバーに$ BASH_ENVを設定したいのですが、動作中のサーバーに設定したのと同じ場所に設定したいです。別のコンピューターからのsshコマンドなど、非対話型ログイン時にLinuxが実行される場所は何ですか? 編集:ユーザーの/ etc / passwdの行は、両方のサーバーで/ bin / bashを指定しています。両方のサーバーの〜/ .bash_profileファイルは同一であり、が含まれていますif [ -f ~/.bashrc ]; then . ~/.bashrc; fi。システム間の唯一の違いは、$ BASH_ENVが機能していないサーバー上のNULL文字列であり、機能しているサーバーのどこに設定されているかが見つからないことです。 編集2:両方のサーバーの〜/ .ssh / environmentファイルにはBASH_ENV =〜/ .bashrcがあります
19 linux  bash 

4
接続を閉じても終了しないSSH経由でスクリプトを実行する方法は?
スクリプトを実行する必要がありますが、実行に時間がかかります。または、永久に実行したいだけです。切断すると実行が停止するため、マシンにSSHで接続することはできません。 スクリプトを起動したシェルに依存しないスクリプトを実行する方法はありますか? Ubuntu 9.04を使用しています。
18 ubuntu  ssh  bash  scripting 

3
iftop-出力でテキストファイルを生成する方法?
iftopは、source-ip source-port destination-ip宛先ポートによって区別される、ほぼライブの帯域幅使用量を表示するための優れたツールです。 どのクライアントのIPがほとんどの帯域幅を使用しているかを確認するために使用しています。ここで、出力をどこかに保存したいと思います。 iftopはncursesを使用します iftop > log.txt 期待どおりに動作しません。結果ファイルは読み込めません。 出力をテキストファイルにパイプするために使用できるこのようなツールはありますか?


14
PTSログインの「最後の」出力にIP情報がない理由
5つのCentOS 6 Linuxシステムを使用していますが、所有しているすべてのLinuxシステムで、ユーザーIDでのみ発生するように思われる奇妙な問題が発生しました。これは、lastコマンドから除外したエントリの問題の例です。 。 mpenning pts/19 Fri Nov 16 10:32 - 10:35 (00:03) mpenning pts/17 Fri Nov 16 10:21 - 10:42 (00:21) bill pts/15 sol-bill.local Fri Nov 16 10:19 - 10:36 (00:16) mpenning pts/1 192.0.2.91 Fri Nov 16 10:17 - 10:49 (12+00:31) kkim14 pts/14 192.0.2.225 Thu Nov 15 18:02 - …
18 linux  centos  bash  login  terminal 

9
Webサイトが利用可能かどうかを自動的にテストするスクリプト
私は、クライアント用にいくつかの小さなWebサイトをホストしている自分のCentos VPSを持つ孤独なWebデベロッパーです。今日、httpdサービスが停止したことを発見しました(明確な理由はありませんが、それは別のスレッドです)。私はそれを再起動しましたが、今度は電子メールやSMSが再び発生した場合に通知される方法を見つける必要があります。 サーバー監視ソフトウェアを含む、おそらく多くの異なる可能性があることを知っています。本当に必要なのは、実稼働サーバーからページを読み込もうとする開発ホスト(オフィスで恒久的に実行されている)からcronジョブとして実行できるスクリプトであり、30秒以内に読み込まれない場合は秒後にメールまたはSMSを送信します。私はシェルスクリプトを作成するのがかなり難しいので、この質問です。 どんな提案もありがたいことに感謝します。


5
sedを使用して、文字列の前後の角括弧を削除します
Ubuntu 12.04.1 LTSのbashシェルでこのコマンドを実行しています。私は一度に一気に、[そして両方の]キャラクターを削除しようとしています。つまり、二度目のsedにパイプする必要はありません。 正規表現では角かっこが特別な意味を持っていることを知っているので、バックスラッシュを前に付けてエスケープします。私が期待していた結果は単なる文字列です123が、角括弧が残っているので、理由を知りたいです! ~$ echo '[123]' | sed 's/[\[\]]//' [123]
18 bash  regex  sed 


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