/ / समय उपयोगकर्ता इनपुट csh खोल - इनपुट, टाइमआउट, csh

उपयोगकर्ता इनपुट csh खोल से बाहर समय - इनपुट, टाइमआउट, csh

क्या सी शेल के लिए उपयोगकर्ता इनपुट आउट करना संभव है? मेरा अब तक का कोड है:

    #!/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 № 1

tcsh शेल में गैर-अवरोधक उपयोगकर्ता इनपुट के लिए इसे आज़माएँ:

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