मेरे पास एक स्क्रिप्ट है जो मुझे मेरी बैकलाइट चमक पर ठीक-ठीक नियंत्रण देती है और sudoचलाने की आवश्यकता होती है। यह अनिवार्य रूप से यह है:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | tee $backlight
और रहता है ~/bin/backlight-adjust। स्क्रिप्ट को sudoविशेषाधिकारों की आवश्यकता है , क्योंकि tee $backlightएक विशेषाधिकार प्राप्त स्थान पर लिखना है। यदि यह साथ नहीं चलता है तो यह विफल हो जाएगा sudo।
इस दृष्टिकोण में एक समस्या है, क्योंकि मैं बस नहीं चला सकता sudo backlight-adjust, क्योंकि पर्यावरण में ~/binनहीं है, केवल मेरे वातावरण में है। तो मुझे दौड़ना पड़ेगा या कुछ इसी तरह का।$PATHsudosudo env "PATH=$PATH" backlight-adjust
वैकल्पिक रूप से, मैं इसे इस तरह लिख सकता था:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | sudo tee $backlight
और मुझे पासवर्ड के लिए संकेत दें।
दूसरा दृष्टिकोण मेरे लिए बेहतर काम करता है क्योंकि मुझे सुडो टाइप करने की याद नहीं है; यह मुझे संकेत देगा। और मैं अपने को $PATHबरकरार रख सकता हूं । यह समग्र रूप से अधिक सुविधाजनक लगता है, लेकिन क्या कोई कारण है कि मुझे इसे दूसरा तरीका नहीं करना चाहिए?
(मैं Xubuntu 14.04 चला रहा हूं और मेरा शेल GNU बैश 4.2.45 है, अगर इससे कोई फर्क पड़ता है।)
sudoवास्तव में$PATHडिफ़ॉल्ट रूप से रहता है इसलिए मेरे पास यह समस्या नहीं है।