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

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

1
bashスクリプトのCtrl-C
スクリプトが中断されるように、またスクリプトによって起動されている現在実行中のコマンドと同様に、bashスクリプトにctrl+ c処理を実装するにはどうすればよいですか? (長期実行コマンドを実行するスクリプトがあると想像してください。ユーザーはctrl+ cを押してコマンドを中断しますが、スクリプトは続行します。)両方とも強制終了されるように動作する必要があります。


8
頻繁に変更されるIPを持つボックスにSSH
IPを頻繁に変更するクラウドボックスがいくつかあります。 ホスト名を使用してsshを実行しますが、このエラーメッセージのために、サーバーを起動するたびにknown_hostsファイルを編集する必要があります。 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key …

6
SSHログインでカスタム.bashrcファイルを使用する方法
私が仕事をしている新会社では、比較的短い寿命でLinuxサーバーにアクセスしなければならないことがよくあります。これらの各サーバーにはアカウントがありますが、新しいアカウントを作成するたびに、.bashrcを介して転送する手間をかける必要があります。ただし、約1か月後にはそのサーバーが使用できなくなる可能性があります。また、他の多くのサーバーに短時間(分)アクセスする必要があります。この場合、.bashrcを介して転送するだけの価値はありませんが、多くのサーバーで作業しているため、多くの無駄な時間が発生します。 サーバー上で何も変更したくないのですが、「接続ごと」の.bashrcを使用する方法があるのではないかと考えていたので、サーバーにSSH接続するたびに、そのセッションで設定が使用されます。 これが可能であれば、gitconfigファイルのような他の設定ファイルでも同じことができたらいいと思います。

1
ブロックするだけのデバイスファイルはありますか?
... / dev / nullに似ていますが、書き込まれたすべてのバイトをブロックするだけですか? 必要なのは、出力をブロックすることにより、任意の実行可能ファイルをメモリに保持するためのトリックです。出力は最初にバッファーに書き込まれるため、パイプは使用できないようです。
21 linux  bash  cygwin 

3
「ls -l」のシステム全体のエイリアスを作成する方法は?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、話題のサーバー障害のため。 6年前に閉鎖されました。 私はを頂きたい alias ll="ls -l" システム全体であること。 Ubuntuではどのように行われますか?
21 linux  ubuntu  bash 

4
バックグラウンドプロセスはログオフ時にSIGHUPを取得しますか?
これは、この質問のフォローアップです。 さらにいくつかのテストを実行しました。これが物理コンソールで行われてもSSHで行われても、実際には問題ではないように見えますが、これはSCPだけでは起こりません。私もそれをテストしましたcat /dev/zero > /dev/null。動作はまったく同じです。 使用してバックグラウンドでプロセスを起動します&(または、それが使用し始めています後にバックグラウンドでそれを置くCTRL-Zとbg)。これはを使用せずにnohup行われます。 ログオフ。 再度ログオンします。 プロセスはまだそこにあり、楽しく実行されており、現在はの直接の子ですinit。 を送信すると、SCPとCATの両方がすぐに終了することを確認できSIGHUPます。これを使用してテストしましたkill -HUP。 そのため、少なくともバックグラウンドプロセスにはログオフ時にSIGHUPが送信されないように見えます(明らかな理由により、フォアグラウンドプロセスではテストできません)。 これは、当初VMware ESX 3.5(RedHatベース)のサービスコンソールで発生しましたが、CentOS 5.4で正確に複製することができました。 質問は、やはり次のとおりです。ログオフ時に、バックグラウンドで実行されている場合でも、SIGHUPをプロセスに送信するべきではありませんか?なぜこれが起こらないのですか? 編集 straceカイルの答えに従って、私はで確認しました。 私は期待していたように、プロセスは取得していない任意のそれが開始されたシェルからログオフするときに信号を。これは、サーバーのコンソールを使用する場合とSSHを使用する場合の両方で発生します。
21 linux  bash  process  signals 


4
sshリモートコマンドの$ PATHがインタラクティブシェルの$ PATHと異なるのはなぜですか?
ドットファイルの$ PATHを変更していないユーザーがいます。これはまさにシステムのデフォルト設定です。ログインシェルから: $ ssh example.com user@example.com:~$ cat /tmp/hello.hs #!/bin/bash echo "$SHELL" echo "$PATH" user@example.com:~$ /tmp/hello.hs /bin/bash /usr/local/bin:/usr/bin:/bin 正確に指定されたとおり/etc/profile。これはかなり予想外です: $ ssh example.com '/tmp/hello.sh' /bin/bash /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games 私が言ったように~/.bashrc、にもにも$ PATHの変更はありません/etc/bash.bashrc。いいえ~/.ssh/environment。ssh(1)環境変数があることを宣言しPATHています sshのコンパイル時に指定されたデフォルトのPATHに設定します。 しかし、このスレッドのStackOverflowからして、このメーリングリストの記事は、私がすることを示唆している必要があり、単になど/ etc / profileを、シェルのスタートアップファイルのいずれかを、変更することで、指定したコマンドの$ PATHに影響を与えることができること 何が起きてる?
20 ssh  debian  bash 

5
Linuxで `>`が静かに失敗する原因は何ですか?
私はこのコマンドを実行しました: python ./manage.py dumpdata partyapp.InvitationTemplate > partyapp_dump.json データをpartyapp_dump.jsonファイルにダンプします。しかし、すべてのデータが画面に印刷され、空のpartyapp_dump.jsonファイルが作成されます。 なぜこれが起こるのでしょうか?私はテストls > partyapp_dump.jsonしましたが、完全に機能しました。
20 linux  bash 

7
自動化されたスクリプトでタイムゾーンを設定する
新しいスライスホストのインストールのセットアップを自動化するスクリプトを書いています。完璧な世界では、スクリプトを開始した後、スクリプトは実行されますが、注意は必要ありません。1つの例外を除き、成功しました。 パーマネント(再起動を生き残る)と正気(標準および夏時間に合わせて調整するので、日付を強制するだけではありません)でタイムゾーンを設定するにはどうすればよいですか? 現在、私は使用しています dpkg-reconfigure tzdata これには、パラメータを強制する方法はないようです。ユーザーの入力が必要です。 編集:コメントではコードブロックが許可されていないため、コメントではなくここで編集しています。 以下は、Rudedogのコメントに基づいた、実際のコードです。また、これにより/ etc / timezoneが更新されないことに気付きました。誰がそれを使用するのかは定かではありませんが、誰かが使用する場合に備えて、私もそれを設定しています。 TIMEZONE="America/Los_Angeles" echo $TIMEZONE > /etc/timezone cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime # This sets the time


7
シェルスクリプトからssh-agentを実行する
とりわけ、ssh-agentを起動し、秘密鍵をエージェントに追加するシェルスクリプトを作成しようとしています。例: #!/bin/bash # ... ssh-agent $SHELL ssh-add /path/to/key # ... これに伴う問題は、ssh-agentが$ SHELLの別のインスタンス(私の場合はbash)をキックオフすることであり、スクリプトの観点からはすべて実行され、ssh-addの下にあるものは実行されません。 シェルスクリプトからssh-agentを実行し、コマンドのリストの下を移動するにはどうすればよいですか?

2
cronのような、後で(しかし一度だけ)ジョブをスケジュールするユーティリティはありますか?
特定の(非周期的な)イベントが発生したときにテキストを送信するプログラムを設計しようとしています。今のところ、このイベントがいつ発生するかを検出し、それが発生する直前にテキストを送信する(cronのような)ジョブをスケジュールするスクリプトが欲しいです。 より具体的な例は次のようになります。 スクリプトAが実行され、次回のイベントを検出します スクリプトAの使用??? スクリプトBを$ timeで実行するようにスケジュールするには $ timeで、??? テキストを送信するスクリプトBを呼び出します。 問題は、イベントが11日以内にランダムに発生する可能性があり、一度しか発生しないことです。Cronはこれには不適切と思われる-このジョブを複数回実行したくない。 だから、(要するに)定期的ではないスクリプトの遅延実行を提供するユーティリティはあると思いますか?
19 linux  bash  cron 

1
パイプを使用するとシェルコマンドが遅くなり、中間ファイルで高速になる
中間ファイルを使用するとき、またはパイプを使用するとき、処理時間のこの大きな違いを誰もが理解していますか?新しいdebian squeezeサーバーで標準ツールを使用してtiffをpdfに変換しています。これを行う標準的な方法は、最初にpsに変換することです。 パイプなし: root@web5:~# time tiff2ps test.tif > test.ps real 0m0.860s user 0m0.744s sys 0m0.112s root@web5:~# time ps2pdf13 -sPAPERSIZE=a4 test.ps > test.pdf real 0m0.667s user 0m0.612s sys 0m0.060s パイプ付き: root@web5:~# time tiff2ps test.tif | ps2pdf13 -sPAPERSIZE=a4 - > test.pdf real 1m6.098s user 0m15.861s sys 0m50.9 最後のコマンドの間、gsプロセスは常に100%です。 更新: ps生成のstrace出力は次のとおりです。 root@web5:~# strace …

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