यह समाधान # 2 दिशानिर्देश का पालन नहीं करता है - या अस्पष्ट रूप से सैंडविच के आकार की गणना करता है? मैं शुरुआत में एक तरह के पैलिंड्रोम विषय पर गया था, लेकिन मैं केवल लंगड़े का सहारा लिए बिना रेखाओं को सममित बनाने के लिए बहुत सारे तरीके खोज सकता था real code # ecod laer
। मैंने दिशानिर्देश # 1 को बहुत गंभीरता से नहीं लिया, सौंदर्यशास्त्र पहले आता है।
याद रखें कि यह एक makefile है; 3 क्रमिक पंक्तियों के साथ शुरू होता है if
, rm
और echo
एक टैब से शुरू होता है। अन्य इंडेंटेड लाइनें रिक्त स्थान से शुरू होती हैं।
me : mr ; env | grep -q DO_US || rm -- mr || SU_OD q- perg | vne ; rm : em
.SILENT:##:TNELIS.
. = a. .a = .
$(.:.=):;:>$@
sandwich:
if expr>/dev/null $$(id -u); then echo 'What? Make it yourself'; fi
rm f- a me mr 2>/dev/null
echo Okay
mr : ; true : ; touch me : em f- mr || rm -f me : em hcuot ; : eurt ; : rm
उपयोग (आदेश किसी भी क्रम में जारी किए जा सकते हैं):
$ sudo make me a sandwich
Okay
$ sudo make me sandwich
make: *** [sandwich] Error 1
$ sudo make a sandwich
make: *** [sandwich] Error 1
$ sudo make sandwich
make: *** [sandwich] Error 1
$ make me a sandwich
What? Make it yourself
make: *** [sandwich] Error 1
# 3 दिशानिर्देश के रूप में, यह चतुराई से छिपा नहीं है, बस थोड़ा अजीब है। कुछ संकेत:
के लिए एक खोज: दो अलग-अलग परीक्षण कर रहे हैं SUDO_USER
, और में से एक परीक्षण है कि क्या id -u
प्रिंट 0. आप देख क्यों What?
है नहीं जड़ के लिए मुद्रित? क्या आप देखते हैं कि किन SUDO_USER
कारणों की कमी Okay
नहीं छपी है?