क्या सी शेल के लिए उपयोगकर्ता इनपुट आउट करना संभव है? मेरा अब तक का कोड है:
#!/bin/csh -f
set COUNT = 5
printf "INFO: Start ok (0/1)? "
set INPUT = 0
while ($COUNT > 0 && $INPUT == 0)
printf "b%d" "$COUNT"
set INPUT = <$
sleep 1
@ COUNT --
end
if ($INPUT == 1) then
./execute.sh
end
यदि कोई इनपुट नहीं दिया गया है, तो मैं एक शेल निष्पादित करना चाहता हूंस्क्रिप्ट; अगर मैं इस हिस्से को छोड़ना नहीं चाहता। दुर्भाग्य से, स्किप्ट इनपुट भाग को नहीं छोड़ता है लेकिन इनपुट का इंतजार करता है। इस समस्या का कोई समाधान? बहुत बहुत धन्यवाद दोस्तों !!!
उत्तर:
जवाब के लिए 0 № 1tcsh शेल में गैर-अवरोधक उपयोगकर्ता इनपुट के लिए इसे आज़माएँ:
set TMPFILE = `mktemp`
set COUNT = 5
printf "INFO: Start ok (0/1)? "
stty -F /dev/tty -icanon
while ($COUNT > 0 && -z $TMPFILE)
printf "b%d" "$COUNT"
sleep 1
(dd bs=1 count=1 iflag=nonblock > $TMPFILE) >& /dev/null
set INPUT = `cat $TMPFILE`
@ COUNT--
end
stty -F /dev/tty icanon
echo ""
if ("$INPUT" == "1") then
./execute.sh
endif