-e /sudoers.tmp -o "$(pidof visudo)"
が次のコードスニペットで何を理解しようとしていますか。bashに詳しい方
#!/bin/bash
if [ -e /etc/sudoers.tmp -o "$(pidof visudo)" ]; then
echo "/etc/sudoers busy, try again later"
exit 1
fi
cp /etc/sudoers /etc/sudoers.bak
cp /etc/sudoers /etc/sudoers.tmp
chmod 0640 /etc/sudoers.tmp
echo "whatever" >> /etc/sudoers.tmp
chmod 0440 /etc/sudoers.tmp
mv /etc/sudoers.tmp /etc/sudoers
exit 0
その特定の条件について詳しく説明してください。
コードレビューのタッチ: 'cp -p'を使用します。 'bash -e'でスクリプトを呼び出してエラーが発生しないようにしてください。 –
良い点。ありがとう。 –
@glennjackman:あるいは、スクリプト内で 'set -e'や' set -o errexit'(読みやすくするため)をしてください。 – l0b0