質問

このスニペットのバスクリプト書いログインCPUの負荷:

#!/bin/bash
# ... irrelevant nonsense ...
cmd1="/usr/bin/mpstat -P ALL | egrep '(AM|PM)([[:space:]]+)(0)' | tr -s ' ' | cut -d' ' -f4"
ldsys="$(echo $cmd1 | /bin/sh)"
# ... irrelevant nonsense ...

$ldsys が正しく設定の時にスクリプトが実行され、従来からのソフトである。このゴールデン. この問題: 実行するととcrontab, $ldsys は空になります。

って何百万ものは時間だこととんでもない...が見つからな .いいアイデア、浮かぶのでしょうか。


注記:

  • /usr/bin/mpstat ができ 実行される cron.私は試験を追加する架空のタスクの火災毎分: /usr/bin/mpstat -P ALL >> somefile 確認を出力します。ことができる。

  • egrep, tr, は、 cut すべての機能美の下cron.

  • 思い思いの<エバール>課題コンベンションセンターでもなぜだかよくわかりませんとすべきではないでしょうかを検討では比較的基礎の構築... るようにして、アダムの提案、いいことを考え何を思---

編集:eval 利用...まだまだダイス

役に立ちましたか?

解決

また問題から mpstat.時渋谷、のんべい横丁にあるバー。からのコマンドプロンプトでの出力の時間AM/PM.なが渋谷、のんべい横丁にあるバー。による cron.として ennuikiller とでしょう環境問題です。自分のシステム echo $LANG "を与えるen_US.UTF-8"をコマンドプロンプトも時走 cron.このその他の環境変数に影響を与えう mpstat 出力回でき grep のために"(AM|PM)"なのです。

ことだと思い:

ldsys=$(/usr/bin/mpstat ... )

くの課題"cmd1"、 eval, は、 echo の配管へ sh?

他のヒント

お薦のためには、主に以下の問題:

This is perhaps our number one complaint with cron. When you login to Unix, startup scripts setup your environment. You can see your environment with the commands "printenv" or "env". On the other hand, cron sets up only a sparse environment 

通常の出力プログラムが送信され、標準出力に出力(標準)、通風に誰かの画像を表示します。仕事を始めたd,標準出力に出力を向くこととなる地元メールのサブシステムは、任意の出力を生成すcronジョブに郵送することで、ユーザを所有する仕事

また釣りをした除 eval?

の代わりに

ldsys=`eval $cmd1`

ldsys=`echo "$cmd1" | /bin/sh`

または

ldsys="$(echo $cmd1 | /bin/sh)"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top