- ベストアンサー
シングルユーザモードがどうかをチェック
if [ "'who | wc -l | sed -e 's/^ *//''x" != \ "0"x -o "'whoami'x" != "root"x ]; then echo "You must be in single user mode." exit 1 fi これはシングルユーザモードかどうかをチェックするshスクリプトなんですが、sedのところがわからないでおります。 !=という記号が2つあること、2,3回出てきている「x」という文字が特に疑問です。 これがどのようにして、シングルユーザモードのチェックとして働くのでしょうか。
- みんなの回答 (2)
- 専門家の回答
お礼
しばらく用事のため、ネットが見れなくなる可能性が高いので、とりあえずここで締め切って、もう一度じっくり考えてみます。 丁寧な解説をありがとうございました。 どうしてもわかんなかったら、また質問させていただきますので、よろしくお願いします。
補足
回答ありがとうございます。xの意味についてはわかりました。 >シングルクオート(') とバッククオート(`) が混乱してますが. すいません、書き直します。 if [ "`who | wc -l | sed -e 's/^ *//'`x" != \ "0"x -o "`whoami`x" != "root"x ]; then echo "You must be in single user mode." exit 1 fi >whoami で root と表示されない それは、"`whoami`x" != "root"xの部分ですよね。その左側の"0"x -o はどういう意味なんでしょうか。 また、ここに出てきている「|」は、ORの意味なんでしょうか、パイプの意味なんでしょうか。 sedなんとか!=とそれ以降の式のつながりもよくわからないのです。