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

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

1
複数のマシンをリモートで再起動する
リモートでいくつかのマシンを再起動する必要があります。通常は発行するだけです for host in <hostlist>;do ssh ${host} 'sudo shutdown -r now';done しかし、再起動する前にユーザーに時間を与えたいです。しかし、それらを使用しても、sshセッションは切断されません: ssh -f 'sudo shutdown -r +5 &;disown' エラーメッセージが表示されます。 bash:-c:行0:予期しないトークンの近くで構文エラー;' bash: -c: line 0:sudo shutdown -r +5&; disown ' 助言がありますか?
11 ssh  bash 

2
CVE-2014-7169用の更新されたShellshock脆弱性テストはどのように機能しますか?
CVE-2014-6271の元のテストを理解しました。 $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" しかし、CVE-2014-7169の更新されたテストと対応する出力に混乱しています。 $ env X='() { (a)=>\' sh -c "echo date"; cat echo sh: X: line 1: syntax error near unexpected token `=' sh: X: line 1: `' sh: error importing function definition for `X' Thu …
11 security  bash 

1
Debianで起動スクリプトを実行しようとしたときに、そのようなファイルまたはディレクトリエラーはありません
Debian(Raspbian)にとって非常に新しいものであり、私はこれについて数日間苦労しています。起動時に実行したい起動スクリプトがあります。 次のコマンドを実行して、スクリプトを実行可能にし、デフォルトのパラメータとともに起動シーケンスに追加しました。 sudo chmod 755 /etc/init.d/testsam sudo update-rc.d testsam defaults スクリプトをテストするときに、次を実行します。 sudo /etc/init.d/testsam start しかし、そうするとエラーが発生します:/etc/init.d/testsamを実行できません:そのようなファイルまたはディレクトリはありません。 スクリプトを非常に基本的なものに最小化しましたが、実際の理由の手がかりはまだありません。誰かが私に正しい解決策を指摘してくれることを願っていますか?これは現在のスクリプトです。 #! /bin/bash # /etc/init.d/testsam case "$1" in start) #echo "starting script" ;; stop) #echo "stopping script" ;; *) #echo "Usage: /etc/init.d/testsam {start|stop}" exit 1 ;; esac exit 0 助けてくれてありがとう

3
bashのsmtp.gmail.comから「証明書のエラー:ピアの証明書発行者が認識されません」と表示される
問題がある場合、管理者にメールを送信するスクリプトが必要であり、会社はGmailのみを使用しています。いくつかの投稿の指示に従って、.mailrcファイルを使用してmailxをセットアップできました。最初にnss-config-dirのエラーがありましたが、Firefoxディレクトリからいくつかの.dbファイルをコピーすることで解決しました。./certsに移動し、mailrcでそれを目指します。メールが送信されました。 ただし、上記のエラーが発生しました。ある奇跡によって、.dbにGoogle証明書がありました。次のコマンドで表示されました。 ~]$ certutil -L -d certs Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI GeoTrust SSL CA ,, VeriSign Class 3 Secure Server CA - G3 ,, Microsoft Internet Authority ,, VeriSign Class 3 Extended Validation SSL CA ,, Akamai Subordinate CA 3 ,, MSIT Machine Auth CA 2 ,, Google Internet …
11 ssl  bash  gmail 

2
Debian SSH-端末のサイズ変更がbashに登録されない
最近、ディスク障害のためにサーバーを再インストールしましたが、現在、端末のサイズ変更に問題があります。Debian 6.0.6をインストールしました。 症状 端末のサイズを変更すると、ncursesベースのアプリ(テスト済み:ytalk、irssi、screen、tmux、ncursesサンプルアプリケーションの一部)が正しくサイズ変更されないようです。通常、画面は空白になります。アプリケーションで強制的に再描画を行うと、古い端末サイズを使用して再描画されます。 bash(4.1.5(1))プロンプトでウィンドウのサイズを変更する場合、COLUMNSおよびLINES変数は更新されません。 診断 SIGWINCHをbashにトラップしようとすると、受信されないようです。これは以下でテストされました: trap 'touch /home/user/sigwinch' SIGWINCH trap 'touch /home/user/sigusr1' SIGUSR1 kill -s SIGWINCH $$ kill -s SIGUSR1 $$ 私のホームディレクトリに両方のファイルが作成されているはずです。作成し/home/user/sigusr1ただけです。 しようkill -s SIGWINCH $$としても、$ COLUMNS / $ LINES変数は更新されません。 checkwinsize(shopt -s checkwinsize)を有効にすると、bashはアプリケーションからの戻り時に(予想どおり)$ COLUMNS / $ LINESを更新します。これは、checkwinsize有効にした端末のサイズを変更した後に次のようになります。 $ echo $COLUMNS ; ls > /dev/null ; echo $COLUMNS 72 …
11 debian  bash  term 

1
現在実行中のスクリプトの素晴らしいレベルを変更する
現在実行中のスクリプトの素晴らしいレベルを変更したいと思います。 #!/bin/bash nice_it ( ) { nice ps -o "%p %r %y %x %n %c %a" } nice_it それniceによって開始されたコマンドのナイスレベルを変更しようとするため、これは機能しません。 これをbashで達成することは可能ですか?
11 bash  nice 

6
rootパスワードを必要とせずにMySQLトラフコマンドラインに接続する
いくつかのタスクのBashスクリプトを作成しています。これらのタスクの1つは、同じbashスクリプト内からMySQL DBを作成することです。私が今やっていることは、2つの変数を作成することです。1つはストアユーザー名用で、もう1つはストアパスワード用です。これは私のスクリプトの関連部分です: MYSQL_USER=root MYSQL_PASS=mypass_goes_here touch /tmp/$PROY.sql && echo "CREATE DATABASE $DB_NAME;" > /tmp/script.sql mysql --user=$MYSQL_USER --password="$MYSQL_PASS" < /tmp/script.sql rm -rf /tmp/script.sql しかし、パスワードなしでユーザーrootのアクセスが拒否されたことを示すエラーが常に表示されます。PostgreSQLでも同じことをする必要があります。

1
複雑なプロセス名のpgrep / pidofの使用法?
私はpidofまたはpgrepを使用して、システムのプロセスにHUPを送信しようとしています。問題は、正確なパラメーターでプロセスを強制終了したいだけだということです。 これは「ps awx」の出力です 657 ? S 0:00 processname software 658 ? S 0:00 processname demo 659 ? S 0:00 processname test これらのいずれかを実行することにより: pidof processname pgrep processname プロセス名で始まるすべてのプロセスのリストを取得しますが、次のようなことをしたいです: pidof processname test pgrep processname test 必要なPIDのみを取得するには(この例では659になります) 更新 pgrepで-fフラグを使用することにより、次の操作を行うことで、私が望んでいたことを実行できます。 pgrep -f "processname test" 正しい答えが得られます。

3
ファイル数をカウントするBashスクリプト
スクリプトがあり、ファイルが存在するかどうかに応じて異なるメッセージを表示したい。次のようなスクリプトがあります。 count=ls /import/*.zip | wc -l echo "Number of files: " $count if [ "$count" > "0" ]; then echo "Import $count files" else echo "**** No files found ****" fi ただし、ファイルが存在しない場合、これはNo such file or directory0ファイルではなく表示されます。ディレクトリ内に/import/ディレクトリがあるので、lsコマンドを実行することはできません。コマンドは常に0より大きい値を返します。 特定の拡張子(.zip、.gzなど)のファイルの数をカウントし、bashスクリプトでその値を使用してファイルの数を表示し、それをifステートメントで使用して異なるメッセージを表示するにはどうすればよいですか?
11 bash  scripting 

3
すべての空のディレクトリを削除する方法
(Linuxシステム上) ファイルシステムにネストされたサブディレクトリの大規模なセットがあります。ファイルをまったく含まないすべてのディレクトリパスを整理したいと思います。 つまり、そのディレクトリまたはそのディレクトリのサブディレクトリにファイルが存在しないすべてのディレクトリを再帰的に削除したいと思います。
11 linux  unix  bash 

3
Linuxで「個人」アクティビティを記録する
そのため、これに関連する多くの投稿を読んで、以前よりも混乱してしまいました。ttyrec、sno​​opy、acct、rootsh、sudosh、ttyrpld、unix監査など、さまざまなツールの推奨事項があります。 私の場合、システムで実行されたすべてのコマンド(タイムスタンプが有効になっている履歴など)をログに記録したいのですが、誰が何をしたかを知りたいのですが?ただし、私たちはすべて、sshを介して同じ小さなユーザーアカウントのサブセットにログインします(実行内容によって異なります)。「誰」が提供する情報(接続に関して)を含むコマンドのログを取得して、特定の人へのアクションを一般的な「ユーザー」に向けて追跡できるようにする方法を教えてください。
11 linux  ssh  bash  logging 


5
ターミナル/ sshを使用しているときに、マシンごとに異なる色のプロンプトが表示されますか?
私は仕事をするために絶えずsshする5つのマシンを持っています。間違ったボックスで間違ったコマンドを発行すると、ますますイライラします。幸いなことに、私はまだ悪いことをしていません。sshを使用しているマシンに基づいてプロンプトを異なる色で表示するハードコード可能なハックがあるかどうかを知りたいですか?デスクトップ1の青、ラップトップの紫、サーバーの赤など これは可能ですか? 現在、私はこのコマンドを使用しています。 -change-the-color-of-my-shell-prompt-under-linux-or-unix / しかし、明らかにsshで動作しません。 また、他のクールなbashのヒントがあれば、私の視力を緩和するのに役立ちます。マニュアルページを色付けするこのヒントを得ました。 http://linuxtidbits.wordpress.com/2009/03/23/less-colors-for-man-pages/

2
Linux-プロセスの現在の作業ディレクトリを見つけますか?
プロセスPID Xがある場合、それが実行されていたディレクトリを確認するにはどうすればよいですか?私はps aux | grep Xそれが呼び出された完全なコマンドラインで見ることができます。ただし、この場合はであり./script.sh、どちらscript.shが実行されているのかを確認したいと思います。
11 bash  process 


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