sudo: command not found

Je suis en train d'exécuter screen comme un autre utilisateur à l'aide de sudo.

Je suis l'aide de la commande:

echo 'userpassword' | /usr/bin/sudo -u 'myuser' -S '/usr/bin/screen -ls'

Toute aide trouvés sur l'internet indique que le sudo efface les variables d'environnement (comme PATH). J'ai donc décidé d'utiliser le chemin d'accès complet aux applications, mais je suis encore en train de la commande pas trouvé erreur.

Erreur:

sudo: /usr/bin/screen -ls: command not found

Sudo est installé sur le système.
L'écran est installé sur le système.

Pour sudo, j'ai essayé le -E et -H drapeau, mais il ne l'aide pas.

J'ai tenté de PATH variable en utilisant quelque chose comme ceci:

... | /usr/bin/sudo -u 'myuser' -S 'env PATH=$PATH; /usr/bin/screen -ls'

Soi-disant le $PATH était supposé s'étendre avant de la commande s'exécute, mais j'ai été faire d'autres erreurs...

Quelqu'un peut-il fournir une commande qui me permettra d'exécuter des commandes en tant qu'autre utilisateur et d'expliquer ce que chaque partie de la commande n'afin que je puisse comprendre?

Grâce.

Cette question est probablement plus approprié sur le StackExchange sites Super-Utilisateur ou ServerFault
Veuillez mettre à jour la question de l'exacte (copier-coller) message d'erreur. BTW, sudo n'est pas complètement réinitialiser $PATH; sur mon système, il la définit /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Je vais voter pour fermer cette question hors-sujet parce que c'est pas une question de programmation. Essayez de Unix & Linux.
Ok, je vais le déplacer.
sudo est d'essayer de trouver de l'ensemble de la chaîne env PATH=$PATH.... en une seule commande à la place d'une commande et les paramètres. sudo ne reset PATH. Dans mon test sudo env le résultat est PATH=/sbin:/bin:/usr/sbin:/usr/bin et mon CHEMIN est totalement différent de celui que. Essayez sudo -u 'myuser' -S PATH=$PATH /usr/bin/screen -ls. Noter l'absence de guillemets dans la commande.

OriginalL'auteur Bradley Odell | 2016-07-14