當前位置:首頁 » 網頁前端 » shell腳本在終端運行
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

shell腳本在終端運行

發布時間: 2022-12-13 15:44:30

❶ Mac上如何運行shell腳本(變為可執行文件)

之前做過iOS自動化打包的分享
裡面就是通過編寫shell腳本最終生成一個可執行文件
雙擊打開就可以運行,實際使用中是非常的方便
方法網上都可以查到,方便大家學習
這里就再分享一下 如何將shell腳本製作為一個可執行文件

在編寫好一個shell腳本之後,保存為 .sh 文件

接下來給shell腳本賦許可權(以下兩種選其一即可)
1、chmod a+x 你的shell文件名.sh
2、chmod 777 你的shell文件名.sh

將你的shell腳本拖到 終端 里, 回車 就好了

到這里shell腳本已經可以運行了,但是怎樣才能雙擊打開呢
右鍵 → 打開方式 → 其他...

接下來就可以試試雙擊執行shell腳本啦
把一些繁瑣的工作用腳本編寫好
需要的時候只需雙擊一下
就可以倒杯水放鬆一下,豈不快哉~

2020年07月26日更新
其實還有種更簡潔的快捷方式
1、cd 到目標文件的目錄下
2、執行

3、雙擊你的文件即可

❷ 如何運行shell腳本

編寫好的shell腳本(如:test),可以採取兩種方式進行運行:x0dx0a一、 $ sh testx0dx0a一般不採用這種調用方式,尤其不採用「sh訪問許可權。x0dx0a二、直接運行可執行的shell腳本之前,首先應使用下列chmod命令,把shell腳本文件設置為可執行的文件。x0dx0achmod 755 test(除文件屬主可寫之外,每個用戶均具有讀和可執行的訪問許可權)x0dx0achmod +rx test(同上)x0dx0achmod u+rx test(只有文件屬主具有讀和執行的訪問許可權)x0dx0a按照上述要求設置shell腳本文件的訪問許可權後,可採用下列方式,直接運行shell腳本了。x0dx0a1、test(如果命令檢索路徑包含當前目錄)x0dx0a2、./test(如果命令減縮路徑不包含當前目錄)x0dx0a*說明: sh test 方式調用一個shell叫蹦可能會禁止某些shell特定的擴展功能,因而可能引起腳本無法正確執行。

❸ shell腳本讓進程在後台運行以及進程後台轉前台

我們計算的程序都是周期很長的,通常要幾個小時甚至一個星期。我們用的環境是用 putty 遠程連接到日本 Linux 伺服器。所以使程序在後台跑有以下三個好處:

1:我們這邊是否關機不影響日本那邊的程序運行。(不會像以前那樣,我們這網路一斷開,或一關機,程序就斷掉或找不到數據,跑了幾天的程序只能重頭再來,很是煩惱)

2:不影響計算效率

3:讓程序在後台跑後,不會占據終端,我們可以用終端做別的事情。

方法有很多,這里主要列舉兩種。假如我們有程序 pso.cpp ,通過編譯後產生可執行文件 pso ,我們要使 pso 在 linux 伺服器後台執行。當客戶端關機後重新登入伺服器後繼續查看本來在終端輸出的運行結果。(假設操作都在當前目錄下)

方法1在終端輸入命令:

解釋:將 pso 直接放在後台運行,並把終端輸出存放在當前目錄下的 log.file 文件中。

當客戶端關機後重新登陸伺服器後,直接查看 pso.file 文件就可看執行結果(命令:$ cat pso.file )。
方法2在終端輸入命令:

解釋: nohup 就是不掛起的意思,將 pso 直接放在後台運行,並把終端輸出存放在當前

目錄下的 pso.file 文件中。當客戶端關機後重新登陸伺服器後,直接查看 pso.file

文件就可看執行結果(命令: #cat pso.file )。

註:如果要使在前天執行任務放到後台運行,則先要用 ctrl+z 掛起該任務,然後用 bg 使之後台執行。
附:
在 Linux 中,如果要讓進程在後台運行,一般情況下,我們在命令後面加上 & 即可,實際上,這樣是將命令放入到一個作業隊列中了:

對於已經在前台執行的命令,也可以重新放到後台執行,首先按 ctrl+z 暫停已經運行的進程,然後使用 bg 命令將停止的作業放到後台運行:

但是如上方到後台執行的進程,其父進程還是當前終端 shell 的進程,而一旦父進程退出,則會發送 hangup 信號給所有子進程,子進程收到 hangup 以後也會退出。如果我們要在退出 shell 的時候繼續運行進程,則需要使用 nohup 忽略 hangup 信號,或者 setsid 將將父進程設為 init 進程(進程號為 1 )

上面的試驗演示了使用 nohup/setsid 加上 & 使進程在後台運行,同時不受當前 shell 退出的影響。那麼對於已經在後台運行的進程,該怎麼辦呢?可以使用 disown 命令:

另外還有一種方法,即使將進程在一個 subshell 中執行,其實這和 setsid 異曲同工。方法很簡單,將命令用括弧() 括起來即可:

註:本文試驗環境為 Red Hat Enterprise Linux AS release 4 (Nahant Update 5) , shell 為 /bin/bash ,不同的 OS 和 shell 可能命令有些不一樣。例如 AIX 的 ksh ,沒有 disown ,但是可以使用 nohup -p PID 來獲得 disown 同樣的效果。

還有一種更加強大的方式是使用 screen ,首先創建一個斷開模式的虛擬終端,然後用 -r 選項重新連接這個虛擬終端,在其中執行的任何命令,都能達到 nohup 的效果,這在有多個命令需要在後台連續執行的時候比較方便:

❹ shell 腳本學習之 在mac下怎麼執行shell腳本

mac終端下運行shell腳本

1、寫好自己的 腳本,比如aa.sh

2、打開終端 執行,方法一: 輸入命令 ./aa.sh

❺ 編寫shell腳本運行python文件

(已嘗試mac自帶的文本編輯器,腳本編輯器無法編寫.sh文件)

運行後出現vim主界面,代表mac有vim,並且成功進入了vim

想要運行.py文件,直接使用絕對路徑即可(此路徑可以通過直接拖進終端即可獲得,或者使用快捷鍵Option+Command+C 復制文件途徑。)
格式: /可執行文件所在目錄/可執行文件

到這里簡單可以運行regression.py文件的shell腳本寫好了。

解決辦法:修改rt.sh文件許可權,命令為:

解決辦法:同問題一

查了資料問題是'(',')'要使用轉義,才可以識別即'(',')'。所以在最開始打開regression.py文件把所有的括弧都加了一遍,這種方法不會再出現括弧的錯誤,但是這並不是一個合理的解決辦法,這樣太麻煩了,而且編寫時是不會這樣處理的,所以在看了另一個別人的腳本時,發現在.py腳本的頭部,即第一行加了一句話

這時使用未做過括弧處理的.py文件,也不會報錯了!

可參考: https://blog.csdn.net/wh_19910525/article/details/8040494

regression.py在不使用rt.sh文件是可以成功運行的,但是此時出現no mole錯誤。
開始以為是quandl自己安裝的問題,在python2.7是Quandl,python3.6是quandl,所以在終端使用pip3,pip分別安裝,但是運行時還會出現同樣問題,但發現一個問題不管是在使用pip,還是pip3在終端運行時,均會說此包已存在,但存在路徑均為python3.6下,所以嘗試更改regression.py文件的頭部第一行,更改為: #!/usr/bin/env python3
可以正常運行了!!!!
還是開心的曬一下,結果吧。(雖然和腳本無關了,哈哈哈哈哈)

對於使用shell腳本,傳遞參數,後續進行學習總結,今天就總結好編寫shell腳本運行python文件吧!

❻ 在mac中怎麼運行.sh文件哦

在mac終端下運行shell腳本。

1、寫好自己的腳本,比如aa.sh。

2、打開終端執行。

方法一: 輸入命令 ./aa.sh

方法二:直接把 aa.sh 拖入到終端裡面

(6)shell腳本在終端運行擴展閱讀:

Mac是蘋果公司自1984年起以「Macintosh」開始開發的個人消費型計算機,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro等計算機。使用獨立的Mac OS系統,最新的macOS系列基於NeXT系統開發,不支持兼容。是一套完備而獨立的操作系統。

macOS操作系統界面非常獨特,突出了形象的圖標和人機對話(圖形化的人機對話界面最初來自施樂公司的Palo Alto研究中心,蘋果借鑒了其成果開發了自己的圖形化界面,後來又被微軟的Windows所借鑒並在Windows中廣泛應用)。

MAC常用快捷鍵:

1、新增郵件(⌘ + Shift + I)

2、搜尋文字定義(⌘ + Control + D)

3、螢幕截圖 (⌘ + Shift + 4)

4、最小化所有視窗 (⌘ + Option + M)

5、顯示最常用應用程式(⌘ + Shift + Tab)

6、關閉 Safari 分頁(⌘ + W)

7、清空桌面畫面(⌘ + F3)

8、微調音量(Option + Shift + F11/F12)

9、直接卷動到最上方或最下方(⌘ + 上/下)


❼ 每天三分鍾搞定linux shell腳本24 後台模式運行

當運行腳本的時候在最後加上符號 & ,則對應的腳本在 後台運行 。建立腳本為,

輸入 ./test.sh & 運行

運行後1.txt文件會不斷增加內容,但是腳本以後台運行不會在終端佔用。運行結果為:

輸入 jobs 可以看到這個後台進程:

這個時候如果輸入exit,不會提示有後台進程在運行,而且後台進程也會退出。因為終端會話退出的時候會給這個後台進程發送一個 SIGHUP信號 。如果想要終端退出之後,進程不退出,可以讓進程捕獲SIGHUP信號。當然還有另一個方法,使用 nohup 指令運行腳本,比如輸入:

當用 nohup 並使用後台模式運行之後,即使退出終端,進程也不會收到SIGHUP信號。並且nohup會自動把標准輸出和標准錯誤重定向到nohup.out的文件中。

一個 運行的進程或者暫停的進程 都是一個作業,使用 jobs 命令可以查看當前的作業狀態。輸入:

我當前的輸出為:

(上面的作業2是輸入 ctrl+z 後暫停的進程)

其中, + 號被當作是默認作業,每個作業的前面有自己的序號。如果後續操作不加序號,那麼就被當做是在操作默認作業。比如使用 fg 指令前台運行作業,就是把27652這個進程前台運行,如果輸入 fg 1 ,那麼就是操作作業 1 了。帶-號的表示下一個默認作業。

輸入 bg 1 把 1號作業 後台運行,輸入 fg 2 把 2號作業 前台運行。

❽ ubuntu怎麼通過shell命令打開一個新終端,並在其打開的新終端運行的命令

輸入代碼:gnome-terminal -x bash -c "./test.sh" 即可。

❾ Mac下怎麼通過shell腳本新開另一個終端並執行命令

把要用的shell腳本寫在test.sh中
然後在終端執行命令open -a Terminal.app test.sh,shell腳本就會運行在新開的Terminal終端

❿ LINUX下shell腳本如何執行 sql腳本 到DB2資料庫

1、在gedit中編寫.sh格式的文件,保存為a.sh。