[問題] 關於 subprocess.check_output 的問題

看板Python作者 (雷澤歸妹)時間5月前 (2023/11/03 16:59), 編輯推噓2(202)
留言4則, 3人參與, 5月前最新討論串1/1
關於 subprocess.check_output 的問題 程式碼如下,請看 ----------------------------- #! /usr/bin/python3 import subprocess cmd = 'echo -ne "\\x78\\x0a"' print(cmd) out_str = subprocess.check_output(cmd, shell=True).decode('utf-8') print(out_str) ------------------------------ 執行結果: ~$ ./test.py echo -ne "\x78\x0a" -ne \x78\x0a ~$ 但是,在 shell 直接執行該命令 ~$ echo -ne "\x78\x0a" x ~$ 請問要如何做,才能讓執行系統命令有預期的結果? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.53.5 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1699001944.A.8FC.html

11/03 22:28, 5月前 , 1F
shell預設是/bin/sh 可以用executable參數指定/bin/bash
11/03 22:28, 1F

11/03 22:32, 5月前 , 2F

11/03 22:38, 5月前 , 3F
cmd = ["bash","-c", "echo -ne \x78\x0a"]
11/03 22:38, 3F

11/04 05:58, 5月前 , 4F
原來如此
11/04 05:58, 4F
文章代碼(AID): #1bHBPOZy (Python)
文章代碼(AID): #1bHBPOZy (Python)