導航:首頁 > 程序命令 > python執行bash命令

python執行bash命令

發布時間:2023-07-02 13:27:10

1. linux虛擬終端bash裡面運行python 2,然後如何調到vi鍵綁定

bash里先啟動vi,比如vi yourpythonfile.py
然後鍵入你的代碼
命令模式:!python yourpythonfile.py
執行完回車就可以接著編輯了

要是實驗室的系統估計vi/vim是配置好的支持高亮縮進語法檢查自動完成等等,要是自己的機器,想用vim做python集成開發環境需要一些插件和定製的配置,可以參考下面的鏈接完成配置
http://sontek.net/blog/detail/turning-vim-into-a-modern-python-ide#test-integration

2. linux下,寫了一個python腳本,但是在bash里只能通過python環境運行,無法直接運行,求助

#!/usr/bin/env python
# -*- coding: utf-8 -*-
一般來說在linux下運行的python文件要加上這兩句。
在Linux系統下可以免去很多錯誤

3. 如何使用python腳本調用adb shell裡面的命令

python調用Shell腳本,有兩種方法:os.system(cmd)或os.popen(cmd),前者返回值是腳本的退出狀態碼,後者的返回值是腳本執行過程中的輸出內容。實際使用時視需求情況而選擇。
現假定有一個shell腳本
test.sh:
#!/bin/bash
echo "hello world!"
exit 3

4. Linux:Python編寫Linux自定義命令工具

摘要: Linux , Python

工作中需要頻繁使用到一個字元串的md5,因此編寫一個md5命令工具,輸入字元串直接得到輸出,並且命令支持參數設置,比如是否事先格式化,指定不同參數可以支持多功能輸出,操作步驟如下

直接vim一個腳本,腳本名md5不需要.py後綴,這樣更像一個命令,注意在腳本第一行引入python解釋器,並設置utf-8編碼

其中-f支持先格式化再得到md5,-l支持傳入多個字元串用空格分開

賦予可執行許可權

測試是否符合要求

直接放置到 /usr/local/bin 目錄下(需要root許可權)

也可以使用軟連接的方式,推薦使用絕對路徑

之後就可以在環境變數中直接使用到md5命令

shebang :中文翻譯「釋伴」,由 #! 開頭的字元串,出現在文本文件的 第一行 。類UNIX操作系統的程序載入器會分析shebang後的內容,將這些內容作為解釋命令,並調用該指令,並將載有 shebang的文件路徑作為該解釋器 的參數

比如 #!/bin/bash 就是使用/bin/bash作為解釋器運行腳本,如果以Python作為解釋器運行腳本先找到Python解釋器的路徑,一般在Linux自帶的 /usr/bin/python 是Python2版本,也可以指定其他Python版本 #!/opt/anaconda3/bin/python ,第二行為 # coding=utf-8 用來指定編碼格式,否則Python2輸出中文亂碼

對於自定義腳本,推薦放置在 /usr/local/bin 目錄,有多個可執行文件目錄在環境變數中,區別如下:
/bin : 包含二進制可執行文件,為系統最基本的命令,如ls等
/sbin : 與/bin 類似,不同之處是其為root許可權命令文件
/usr/bin : 系統預裝可執行文件,會隨著系統升級而改變
/usr/sbin : 同上,不同之處是其為root許可權運用
/usr/local/bin : 三級目錄,用戶自己的可執行文件,系統不管理
/usr/local/sbin : root許可權用戶程序

5. python執行shell命令

Python執行Linux系統命令,即在Python腳本中調用Shell命令,具體有以下四種方法:

1、os.system

//僅僅在一個子終端運行系統命令,而不能獲取命令執行後的返回信息
system(command)->exit_status
Executethecommand(astring)inasubshell.
//如果再命令行下執行,結果直接列印出來:
>>>os.system('ls')
04101419778.CHMbashdocumentmediapy-djangovideo
11.
all-

2、os.popen

//該方法不但執行命令還返回執行後的信息對象
popen(command[,mode='r'[,bufsize]])->pipe
Openapipeto/.

3、使用模塊 subprocess

>>>importsubprocess
>>>subprocess.call(["cmd","arg1","arg2"],shell=True)
//獲取返回和輸出:
importsubprocess
p=subprocess.Popen('ls',shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
forlineinp.stdout.readlines():
printline,
retval=p.wait()

4、使用模塊 commands

>>>importcommands
>>>dir(commands)
['__all__','__builtins__','__doc__','__file__','__name__','getoutput','getstatus','getstatusoutput','mk2arg','mkarg']
>>>commands.getoutput("date")
'WedJun1019:39:57CST2009'
>>>
>>>commands.getstatusoutput("date")
(0,'WedJun1019:40:41CST2009')

6. python腳本入參的單、雙引號

Linux的shell中存在一些特殊字元(保留字),我們將這些具有一些特殊功能的字元叫做meta(元字元),還有一些普通的,沒有特殊功能的字元我們叫做literal(文字)。bash中,常使用的引用有如下三種方法:

    1、單引號:單引號中的所有meta均被當作普通字元使用。

    2、雙引號:在雙引號中的大部分meta都被當作普通字元,但某些字元的功能保留(如$)。

    3、反斜線:只有緊接在反斜線(跳脫字元)之後的單一meta才被當作普通字元。

Windows的cmd下,同樣也有類似的概念。單引號和雙引號有時候沒有區別(可以使用任意一個),有時候只能用特定的一個。

這篇文章主要記錄python腳本入參帶有&&符號時,在Linux和Windows平台的不同表現。

編寫python腳本quote.py,內容如下:

$ cat quote.py

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import sys

print(sys.argv[1])

1、參數不使用引號

$ python quote.py whoami&&whoami

whoami

sunday

可以看出,第一個whoami被當作入參傳給腳本,第二個whoami當作bash命令,在終端執行。

2、參數使用單引號

$ python quote.py 'whoami&&whoami'

whoami&&whoami

可以看出,&&被當作普通字元,whoami&&whoami作為參數傳給了腳本。

3、參數使用雙引號

$ python quote.py "whoami&&whoami"

whoami&&whoami

可以看出,&&被當作普通字元,whoami&&whoami作為參數傳給了腳本。

在Windows執行腳本,用戶為winsunday:

1、參數不使用引號

C:\test>python quote.py whoami&&whoami

whoami

winsunday

可以看出,第一個whoami被當作入參傳給腳本,第二個whoami當作CMD命令,在終端執行絕或消。

2、參數使用單引號

C:\test>python quote.py 'whoami&&whoami'

'whoami

'whoami'' 不是內部或外部命令,也不是可運行的程序

或批處理文件。

可以看出,並知單引號被當作普通字元,&&對命團猜令進行了分割,'whoami作為第一個參數被傳給腳本;whoami'被認為是一個命令進行執行(報錯了)。

3、參數使用雙引號

C:\test>python quote.py "whoami&&whoami"

whoami&&whoami

可以看出,雙引號時&&被當作普通字元,whoami&&whoami作為整體被傳給腳本。

閱讀全文

與python執行bash命令相關的資料

熱點內容
為什麼說安卓平板適配的軟體少 瀏覽:676
三國志下載pdf 瀏覽:683
為什麼單片機c語言 瀏覽:423
演算法一定有一個或多個輸入 瀏覽:242
浪潮伺服器貴州銷售雲主機 瀏覽:840
amdlinux顯卡安裝 瀏覽:568
泰海科技雲伺服器如何卸載 瀏覽:122
有密碼打開excel加密 瀏覽:820
java生成重復字元 瀏覽:282
串口伺服器有什麼用 瀏覽:330
linux安裝red5 瀏覽:295
單片機中斷時入口地址作用 瀏覽:149
程序員的工作是重復性的嗎 瀏覽:68
照片怎麼轉換成pdf 瀏覽:133
女生學編程好嗎 瀏覽:240
目前絕地求生怎麼看伺服器地址大全 瀏覽:825
論人類不平等的起源pdf 瀏覽:438
壓縮機螺桿加工 瀏覽:370
怎麼把網站伺服器設置在境外 瀏覽:164
單片機編程取反 瀏覽:897