0
私のスクリプトは本当に奇妙な出力を生成していますが、その理由はわかりません。 (userslist.tempは、ユーザ名のリストで、ファイルの各行に1つずつ)スクリプトの出力変数の展開
printf 'Output Starting:\n\n'
while read line; do
cronresult=$(sudo crontab -u $line -l)
printf "$line : $cronresult"
done < userslist.temp
それが生成する出力:
Output Starting:
no crontab for thornegarvin
thornegarvin :
no crontab for testuserone
testuserone :
no crontab for testusertwo
testusertwo :
no crontab for testuserthree
testuserthree :
私のユーザーはしていない。ここ
はスクリプトですcrontabが設定されていますが、なぜスクリプトが変数を別の行に表示しないのかわかりません。
stderrを '2/dev/null'で破棄したらどうなりますか? – choroba
あなたの質問は正確に何ですか? crontabが設定されていないと、私はあなたが見たいものを理解していませんか? – dan08
'$(..)'はstdoutをキャプチャしますが、このようなエラーメッセージは標準エラー出力に直接書き込まれます。変数にもエラーを保存したい場合は、 'cronresult = $(sudo crontab -u" $ line "-l 2>&1)'を使うことができます –