タグ付けされた質問 「shell-scripting」

実行中のシェルによって実行される解釈済み言語でのプログラミング

7
bashまたはkshで1ミリ秒間スリープする方法
スリープは非常に人気のあるコマンドであり、1秒からスリープを開始できます。 # wait one second please sleep 1 しかし、0.1秒だけ、または0.1〜1秒待つ必要がある場合はどうすればよいでしょうか。 注意:LinuxまたはOS Xではsleep 0.XXX正常に動作しますが、solaris sleep 0.1またはsleep 0.01-不正な構文では

5
Debian / Ubuntuでロケールを非対話的に設定するにはどうしますか?
通常、aptitude -y install localesそれから実行dpkg-reconfigure localesしてロケールをセットアップします。 今、私はそれをシェルスクリプトに入れたいのですが、自動的に/非対話的に次のことを確実に行うにはどうすればよいですか? en_US.UTF-8システムのデフォルトとして選択して設定します 他のすべてのロケールを無効にします (オプション)期待どおりの/etc/default/locale唯一のエントリが含まれているかどうかを確認しますLANG=en_US.UTF-8

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

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

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 …

4
findコマンドを使用して、パターンに一致するファイルを削除する方法は?
特定のパターンに一致するすべてのファイルを削除するbashコマンドを作成しようとしています-この場合、古いvmwareログファイルがすべて蓄積されています。 私はこのコマンドを試しました: find . -name vmware-*.log | xargs rm ただし、コマンドを実行すると、名前にスペースが含まれるすべてのフォルダーで停止します。xargsが引用符で囲まれた、または適切にエスケープされたrmに渡すようにファイルパスをフォーマットする方法はありますか?

2
特定のスクリプトファイルにのみsudo権限を付与するにはどうすればよいですか?
ユーザーに、特定のディレクトリ(私の場合は/usr/local/tomcat7/bin)の下にあるいくつかのシェルスクリプトに対するsudo権限(パスワードチェックなし)を許可し、それ以外には許可しないようにします。これを達成する最も簡単な方法は何ですか? 次のようなものは機能/etc/sudoersしないようです: jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin

2
opensslのs_clientコマンドにタイムアウトを設定することは可能ですか?
opensslのs_clientコマンドを使用して、ホストの大きなセットの証明書をプルするスクリプトがあります。これらのホストの一部は、ファイアウォールのために必然的に到達不能になります。s_clientタイムアウトをデフォルトよりもはるかに短いものに設定することは可能ですか?manページ/ヘルプファイルに表示されません。 X秒後にopenssl -s_clientを自動的に強制終了する、または何らかのラッパーコマンド。 可能であれば、ホスト/ポートの使いやすさを事前にテストしないことを希望します。

5
rsyncから転送されたファイルのリストを取得しますか?
現在rsync、PHPアプリケーションをステージングサーバーから運用サーバーに展開するスクリプトで使用しています。方法は次のとおりです。 rsync -rzai --progress --stats --ignore-times --checksum /tmp/app_export/ root@app.com:/var/www/html/app/ これは現在、比較されているすべてのファイル(プロジェクト内のすべてのファイル)のリストを出力していますが、変更されたファイルのみを出力したいので--dry-run、すべてのデプロイが更新されていることを確認するオプションで実行できます必要なファイル。 注:これまでにできる最善grep fcstの結果は結果rsyncですが、そこにあると確信しているがマニュアルページで見つけることができないオプションを探しています。 前もって感謝します!

2
mysqldumpはステータスを返しますか?
mysqldumpユーティリティを使用してmysql dbをバックアップするスクリプトを作成しています。このスクリプトをシェル「sh」で記述しています。スクリプトでmysqldumpの出力ステータスをキャプチャしたいので(つまり、mysqldumpコマンドが失敗または成功した場合)、スクリプトが成功したかどうかを報告できます。 mysqldumpは出力ステータスを返しますか? 誰かがこれを行う方法の指示を教えてもらえますか?

5
シェルスクリプトは、ファイルの変更を待ってアクションを実行できますか?
ファイルの変更を監視し、変更が検出されたときに何らかのアクションを実行するスクリプトを作成できるかどうか疑問に思います。 詳細な説明: OpenVPNは、そのステータスを1分ごとにファイルに書き込みます。 このステータスファイルを解析し、対処する必要があります。 OpenVPNは、書き込む前にステータスファイルを切り捨てます。 名前付きパイプに書き込もうとしましたが、パイプの切り捨てに失敗すると、アプリで望ましくない(致命的ではない)エラーが発生します。

2
bashスクリプトでpostgresqlユーザーパスワードを設定する方法
デフォルトのPostgresqlサーバーユーザーのパスワードを設定しますpostgres。私はそれを使ってそれをしました: sudo -u postgres psql # \password postgres 多くのマシンでこのステップを実行したいのでbash、同じことを行うスクリプトを作成したいと思います。これをbashで実現する方法は?


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でも同じことをする必要があります。

3
Powershellパラメーター
スクリプトにParamブロックがあります Param ( [Parameter(Mandatory=$True)] [string]$FileLocation, [Parameter(Mandatory=$True)] [string]$password = Read-Host "Type the password you would like to set all the users to" -assecurestring ) Read-Host CmdLetを必須パラメーターフィールドで使用できますか?そうでない場合、ユーザー作成プロセスに渡すことができるように、変数タイプの正しいタイプを確実に取り込むにはどうすればよいですか?

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