簡體   English   中英

python3 sh庫:沒有輸出,也沒有錯誤

[英]python3 sh library: Getting no output and no error

我正在嘗試將sh庫用於Python3,以另一個用戶身份運行命令。 但是我沒有得到任何輸出,並且運行的命令看起來是正確的。 有誰知道如何讓這個工作?

編輯:它確實返回錯誤代碼為1。

碼:

passwd = input('Enter pass:')
passwd = r'{0}\n'.format(passwd)

my_user = sh.sudo.bake('-S', '-u', 'www-data', _in=passwd)
try:
    a = my_user.ls('/home/dev/xxxxxx/html/')
    print(a)
except Exception as e:
    print('\n\n{0}'.format(e))

輸出:

dev@node:~/scripts$ ./backup.py
Enter pass:xxxxxxx

  RAN: /usr/bin/sudo -S -u www-data ls /home/dev/xxxxxxx/html/

  STDOUT:

  STDERR:
[sudo] password for dev:

dev@node:~/scripts$

手動跑:

dev@node:~/scripts$ /usr/bin/sudo -S -u www-data ls /home/dev/xxxxxxx/html/
[sudo] password for dev:
index.php        wp-admin              wp-config-sample.php  wp-links-opml.php  wp-settings.php
license.txt      wp-blog-header.php    wp-content            wp-load.php        wp-signup.php
readme.html      wp-comments-post.php  wp-cron.php           wp-login.php       wp-trackback.php
wp-activate.php  wp-config.php         wp-includes           wp-mail.php        xmlrpc.php
dev@node:~/scripts$

我最終沒有使用sh來更改用戶。 相反,我調整了系統的權限或組,並運行了sudo -u $ user ./script.py。 $ user有權使用腳本中使用的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM