जब मैं इन कमांड को रन करता हूं तो यह आउटपुट के रूप में दिखाया जाता है। / जड़
$ sudo -u someuser -i "echo $HOME"
/root
$ runuser -l someuser -c "echo $HOME"
/root
$ su - someuser -c "echo $HOME"
/root
मुझे क्या उम्मीद थी
/home/someuser
जब मैं पर्यावरण का निरीक्षण करने के लिए env कमांड चलाता हूं तो यह गृह चर को सही ढंग से रिपोर्ट करता है।
$ su - someuser -c "env"
...
HOME=/home/someuser
...
$ sudo -u someuser -i "env"
...
HOME=/home/someuser
...
$ runuser -l someuser -c "env"
...
HOME=/home/someuser
...
मैं जो करना चाहता हूं वह उपयोगकर्ताओं के होम डायरेक्टरी के तहत स्क्रिप्ट चलाना है। / घर / someuser / लिपियों।
$ {HOME} /scripts/somescript.sh के रूप में
$ sudo -u someuser ${HOME}/scripts/somescript.sh
sudo: /root/scripts/somescript.sh: command not found
मुझे क्या उम्मीद थी:
$ sudo -u someuser ${HOME}/scripts/somescript.sh
...
script output.
...