1樓:匿名使用者
pexpect複雜,但通用靈活。
另外一種辦法就是ssh-keygen/ssh-copy-id,實現自動金鑰驗證取代手動密碼驗證,然後就可以直接呼叫遠端『ssh
remote-user@remote-host remote-script.sh』,麻煩之處在於要手動建立與維護兩臺機器間的公鑰。
至於捕獲輸出,還是要變通一點,既然b都登陸到a了,那麼通過臨時檔案向a輸出內容不是更簡單嗎,這是shell程式設計中簡單有效的辦法。
還可以使用sftp
2樓:匿名使用者
可以使用python的fabric包來完成這項任務。
既然是談到shell指令碼,系統應該是linux/unix的,遠端訪問,應該是ssh吧。
fabric功能是將一個任務通過ssh在多臺伺服器上執行,而每個任務可以是單條shell指令或是一段python指令碼。
fabric是將python, shell和ssh的功能很優雅地結合在了一起,同時自身又非常的輕量,適合大部分伺服器群的日常管理工作。
我想用python寫個web介面簡單執行遠端linux命令 web介面要能自由填寫執行shell命令和指令碼
3樓:匿名使用者
如果你是為了遠端操作的話,不要用web介面,用secure shell。如果你是為了寫這個python程式,那你需要標準庫裡的subprocess和cgi。
4樓:
1. python 基礎知識. 如 控制語句、異常處理try...except。
2. 內建的資料結構. 如:元組、列表、字典....
3. 模組函式、字元 正規表示式
以上為基礎
4. python 的web框架要diango5. 還需要學習web的相關模組.
至少應掌握這些方面知識.
5樓:匿名使用者
首先python基礎你得會:
最簡單套路:web用flask,linux互動用subprocessor模組
說白了就三點:python基礎、flask框架、subprocessor模組
6樓:匿名使用者
我正在做類似的東西,shell,檔案管理,桌面截圖,語音監聽。
7樓:匿名使用者
webpy
或者你是想自己做個webshell
如何使用python執行遠端shell指令碼
8樓:追憶小土豆
最近有個需求就是頁面上執行shell命令,第一想到的就是os.system,
**如下:
os.system('cat /proc/cpuinfo')
但是發現頁面上列印的命令執行結果 0或者1,當然不滿足需求了。
嘗試第二種方案 os.popen()
**如下:
output = os.popen('cat /proc/cpuinfo')
print output.read()
通過 os.popen() 返回的是 file read 的物件,對其進行讀取 read() 的操作可以看到執行的輸出。但是無法讀取程式執行的返回值)
嘗試第三種方案 commands.getstatusoutput() 一個方法就可以獲得到返回值和輸出,非常好用。
**如下:
(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')
print status, output
python document 中給的一個例子,
**如下:
>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: no such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x 1 root 13352 oct 14 1994 /bin/ls'
如何用python互動執行shell指令碼
9樓:
「互動執行shell指令碼」是不是說代替人的手動輸入,比如sudo時輸入密碼的操作?
這種情況可以用pexpect模組。不是預設的,需要自己裝。
10樓:小男孩
使用commands模組
有三個函式:
1.commands.getstatusoutput(cmd)使用os.popen()執行命令cmd,然後返回兩個元素的元組(status, result)
cmd的執行方式是 2>&1,這樣返回結果裡面就包含了標準輸出和標準錯誤
2.commands.getoutput(cmd)只返回執行的結果,忽略返回值
3.commands.getstatus(file)
shell本地指令碼呼叫遠端指令碼,當遠端指令碼執行完再繼續執行本地指令碼 5
11樓:
#!/bin/bash
#呼叫expect指令碼執行遠端sh
expect -c '
set timeout 10000
spawn ssh usr@ip
expect
"*assword"
}expect "#"
send "sh 1\r"
expect "#"
'echo
ls -l
其中timeout時間需要設定足夠長,不然會連線超時斷掉。
或者你配置了rsh,可以把上面的expect過程替換成rsh [host] [-l username] [-n] [command]
12樓:可興修
只要你遠端的指令碼1裡面沒有通過 nohup 呼叫,這個指令碼本身就會要求 1執行完成後才能執行 ls -l指令,無需sleep
你可以這樣測試
ssh user@ip "sleep 2;echo 1"
echo 2
你可以看到顯示結果一定是12
怎麼樣,給分吧
13樓:
兄弟,如果不是你學校的問題的話, 我可以為你解決。wo jiu shi linux da神。 你yong baidu 私信我吧,然後zai lian xi wo
如何遠端登入linux機器並執行python程式
14樓:匿名使用者
可以通過任意的ssh工具,通過祕鑰或者密碼的方式連線到遠端linux機器上通過python命令執行程式,demo如下:
ssh user@ip "python file.py"
注:file程式如需要後臺執行,請自行設定守護程序。
如何通過python指令碼連線批量的遠端伺服器執行python指令碼,伺服器都是windows系統
15樓:匿名使用者
python的特色簡單 python是一種代表簡單主義思想的語言。閱讀一個良好的python程式就感覺像是在讀英語一樣,儘管這個英語的要求非常嚴格!python的這種偽**本質是它最大的優點之一。
它使你能夠專注於解決問題而不是去搞明白語言本身。 易學 就如同你即將看到的一樣,python極其容易上手。前面已經提到了,python有極其簡單的語法。
免費、開源 python是floss(自由/開放原始碼軟體)之一。簡單地說,你可以自由地釋出這個軟體的拷貝、閱讀它的源**、對它做改動、把它的一部分用於新的自由軟體中。
16樓:
構建socket 基於cs體系編寫
如何使用python中的nltk對哈薩克語或阿拉伯語進行句法分析
如果是英語和西班牙語可以用 使用這個模組可以對名詞的單複數進行版轉換及字元操作。權 如何用 python 中的 nltk 對中文進行分析和處理 一 nltk進行分詞 用到的函式 nltk.sent tokenize text 對文字按照句子進行分割 nltk.word tokenize sent 對...
如何使用python中的turtle畫紅蘋果
全部 如下列出,使用的是python3。可以作為參考,這個 比較簡單,是用圓形來近似地畫一個蘋果。可以複製 我把縮排也打進去了,因此我加上了網頁連結,目的地是菜鳥教程 不過與本題無關,doge from turtle import def leaf radius,an 90,co green co1...
如何有效的執行6S
1 先組織到同行業或相關行業6s執行較好的企業或工廠參觀,增進大家改善的意願 2 製作6s宣傳海報或板報,宣導6s的基礎知識 3 組織進行系統的6s知識學習 4 成立6s推進小組或團隊 5 根據實際情況制定改善的專案和方法 6 實施改善的具體過程 7 總結改善的成果,製作成對比 和光榮榜 先進集體和...