some existing questions zaten başka bir kullanıcı olarak komutları çalıştırma hakkında burada sordu. Ancak, soru ve cevaplar, uzun bir komut grubu yerine tek bir komutla odaklanır.Bash’te başka bir kullanıcı olarak bir grup komut nasıl çalıştırılır?
#!/bin/bash
set -e
root_command -p param1 # run as root
# these commands must be run as another user
command1 -p 'parameter with "quotes" inline'
command2 -p 'parameter with "quotes" inline'
command3 -p 'parameter with "quotes" inline'
Orada önemli noktalardan bir çift burada not etmek gibidir::
son üç komutları
su
kullanarak başka bir kullanıcı olarak çalıştırmak veya gerekirÖrneğin, aşağıdaki komut dosyası düşünün
sudo
. Örnekte, üç komut vardı, ancak daha birçok şey olduğunu varsayalım ...Komutların kendileri tek ve çift tırnaklardan yararlanıyor. kendileri tırnak içerirler komutları beri ...
su somebody -c "command"
:
ikinci nokta yukarıdaki aşağıdaki sözdizimi kullanılmasını önler.
Komutları "gruplamak" ve bunları başka bir kullanıcı hesabı altında çalıştırmak için uygun yol nedir? Ben bash-foo ile büyük değilim
Unix stackexchange'de herhangi bir şans var mı? – icedwater
Ayrıca bkz. Http://stackoverflow.com/questions/37586811/pass-commands-as-input-to-another-command-su-ssh-sh-etc/37586820#37586820 – tripleee