मुझे एक टाइमर चाहिए जो मिलीसेकंड के साथ काम करेगा। मैं स्क्रिप्ट में sleep 0.1
आदेश का उपयोग करने की कोशिश की मैं त्रुटि संदेश दिखाई:मिलीसेकंड में बैश नींद
syntax error: invalid arithmetic operator (error token is ".1")
जब मैं टर्मिनल में sleep 0.1
चलाने यह ठीक काम करता है।
कृपया मेरी मदद करें!
संपादित करें: खेद है कि मैं एक गलती ले:
function timer
{
while [[ 0 -ne $SECS ]]; do
echo "$SECS.."
sleep 0.1
SECS=$[$SECS-0.1]
done
}
लाइन sleep 0.1
5 वीं था और SECS=$[$SECS-0.1]
6 था। मैंने बस लाइनों को खराब किया। समस्या 6 वीं पंक्ति में थी, क्योंकि बैश फ्लोट नंबरों के साथ काम नहीं कर सकता है। मैं नीचे के रूप में अपने समारोह बदल दिया है:
MS=1000
function timer
{
while [[ 0 -ne $MS ]]; do
echo "$SECS.."
sleep 0.1
MS=$[$MS-100]
done
}
क्या खोल स्क्रिप्ट चल रहा है? क्या यह '/ bin/sh' है और'/bin/bash' नहीं है? क्या स्क्रिप्ट भी एक शेल स्क्रिप्ट है? –
'नींद' एक वाक्यविन्यास त्रुटि उत्पन्न नहीं करेगा। कृपया एक न्यूनतम स्क्रिप्ट दिखाएं जो आपकी त्रुटि उत्पन्न करती है। – chepner
कृपया अपनी स्क्रिप्ट की पहली पंक्ति जोड़ें और दिखाएं कि आप स्क्रिप्ट कैसे शुरू करते हैं। – Cyrus