यह समझाने के लिए थोड़ा गड़बड़ है।
मेरे पास एक स्क्रिप्ट है जिसे मैं इस तरह से तैनात करना चाहता हूं:
curl -Ls example.com/myscript.sh | bash
मुसीबत मानक स्क्रिप्ट से स्क्रिप्ट पढ़ता है जैसे:
echo "You should edit /srv/pillar/tm.sls now. Comments are in the file."
echo Type "skip" to skip or anything else to edit.
read text
if [ "$text" != "skip" ]; then
sudo pico /srv/pillar/tm.sls
fi
अब, चूंकि स्टडिन स्पष्ट रूप से स्क्रिप्ट के स्रोत के रूप में काम कर रहा है, इसलिए यह वर्तमान में काम नहीं करता है। क्या कोई ऐसा तरीका है जिससे मैं टर्मिनल को पुनः प्राप्त कर सकता हूं?
(वर्तमान वैकल्पिक हल इस तरह यह तैनात करने के लिए है: curl -Ls example.com/myscript.sh > myscript.sh && bash myscript.sh
)
टिप के लिए धन्यवाद - मैंने उस तरह के एक चर की तलाश की, लेकिन न तो दृश्य और न ही EDITOR सेट किए गए थे। इसके अलावा {$ VAR: -dfault} प्रतिस्थापन के बारे में नहीं पता था, फिर से धन्यवाद।
—
स्टीव बेनेट
editor=${VISUAL:-$EDITOR}; sudo "${editor:-pico}" file