好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > linux下執行shell命令方法簡介

linux下執行shell命令方法簡介

熱門標簽:智能電銷機器人有用嗎 外呼電話系統怎么操作 德陽400電話申請 百度地圖標注直線距離 鶴崗400電話申請 商機地圖標注 測繪地圖標注名稱 怎么在百度地圖標注公司的位置 天津電話外呼系統排名

linux下執行shell命令有兩種方法

  1.  在當前shell中執行shell命令
  2. 在當前shell中產生一個subshell,在subshell中執行shell命令

 1.在當前shell中執行shell命令

主要就是在命令行中通過交互方式方式直接輸入shell命令,命令行直接執行給出結果.比如這樣:

2.在當前shell中產生一個subshell,在subshell中執行shell命令

比如我們把shell寫成shell腳本的方式來運行,這個時候會先啟動一個subshell來代替當前的shell,然后執行shell腳本比如

#demo.sh

#!/bin/bash
read -p "please input your name:" name
echo "hello $name"
添加執行權限 chmod +x demo.sh 執行如下 

這個腳本功能很簡單,就是輸出一行話,提示用戶輸入自己的名字,然后腳本輸出hello xxx。我主要想說下執行結果及其分析。先來一張圖:

首先我這邊是啟動了兩個shell,這個時候左右兩個shell的pid號分別是2473和2505,并且這兩個進程都是從一個叫做進程ID號為2465的進程中fork出來的子進程。

當執行了 ./demo.sh 之后,會看到有三個bash的進程,進程ID分別是2473、2505、2633.其中2473和2505的分別對應之前的兩個shell的進程ID。多出了一個pid為2633的進程。這個進程其實就是我們說的subshell。看下這個pid為2633的進程的父進程的進程號是2473,就是說是從pid為2473的shell進程中啟動一個subshell,subshell的進程ID號為2633。當我們輸入完warjiang,之后,腳本繼續執行,執行完畢之后,subshell進程退出。

這個時候我們再去查看進程的時候,就會發現少了pid為2633的進程,也就是少了前面那個subshell。

講到這里,對于在當前終端中執行shell與在當前終端中啟動subshell執行shell兩種方式執行shell也是有了一定程度的了解。下面將引出source命令與在終端中執行shell腳本的區別。

source與bash的區別

嚴格的來說,我這個標題有毒,因為source命令本來就是屬于bash中的一部分。我這里其實想說的是 source demo.shbash demo.sh 的區別。

相信大家但凡有linux下的開發、運維經驗的codeframer都會配置過什么jdk等等之類的環境變量,大家一定都會記得自己都執行過 source ~/.bash.rc ,那么這個source到底是什么.先把這個問題放一放,我們先往下看.還是上面的那個demo.sh的腳本.下面我們來比較一下 bash demo.sh(或者先執行chmod +x demo.sh 再執行./demo.sh)source demo.sh 的區別。

其中靠上面的一張圖片是執行 ./demo.sh 的截圖,靠下面的一張是 source demo.sh 。比較兩張圖片,顯然,兩張圖片最大的區別在于,上面一張圖片多了一個subshell也就是pid為2633進程的出現再消失的過程。所以如果執行執行shell腳本,當前命令行會自動產生一個子進程,當執行完腳本之后,會自動把這個子進程關閉。但是souce命令不會產生新的子進程,而是在當前終端進程中讀取并執行shell腳本。

所以 source與bash的最大區別在于source不用啟動新的shell,而bash需要啟動新的shell

再回到上面那個 source ~/.bashrc ,其實相當于在當前的終端中執行 ~/.bashrc ,而.bashrc文件中的內容就是中關于export PATH部分的語句,也就是設置PATH變量,執行 source ~/.bashrc 讓配置的新的環境變量PATH在當前終端中生效.

source與(.)

 

這邊的話,~/.bash_aliases一般用過alias的持久化,記錄用戶的alias記錄。直觀上來看,執行 . ~/.bash_aliases 應該是設置一些aliases中的變量別名。那么這個 . 是什么.其實這里的 .source 的作用是一樣,表示在當前的終端中執行腳本,這樣就可以讓當前的終端共享aliases中的alias配置信息

您可能感興趣的文章:
  • 一天一個shell命令 linux文本操作系列-tree命令詳解
  • Linux shell 之 提取文件名和目錄名的一些方法總結
  • Linux shell常用的73條命令總結
  • Linux下使用shell腳本自動執行腳本文件
  • linux寫shell需要注意的問題(必看)
  • linux shell txt轉換成html的實現代碼
  • Linux Shell腳本的編程之正則表達式
  • linux shell 路徑截取正則表達式
  • Linux shell實現HTTP服務示例代碼
  • Linux shell tr 命令詳解

標簽:六盤水 丹東 自貢 百色 滁州 武漢 鎮江 優質小號

巨人網絡通訊聲明:本文標題《linux下執行shell命令方法簡介》,本文關鍵詞  linux,下,執行,shell,命令,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux下執行shell命令方法簡介》相關的同類信息!
  • 本頁收集關于linux下執行shell命令方法簡介的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 日韩精品视频观看| 91精品无码久久久久久国产软件| 韩国色情理伦三级做爰试看30秒 | 免费无码又黄又爽动漫| 免费亚洲黄色| 国产成人三级| 99视频有精品视频高清视频| 亚洲国产精品无码乱码三人行| 视频网站免费观看| 中国大乳久久| 疯狂欲望| 欧美午夜性春猛交XXXX按摩师| 又粗又大的机巴好爽7| 六度国产福利午夜视频黄瓜视频| 裸男洗澡gay视频网站| 搞基视频app| 美剧床戏大尺度无删减| 韩国特级一级毛片无遮挡| 青青青青青国产免费手机看视频 | 皇上公主乱L啊…嗯啊小公主H| 《彼女の调教》在线观看| 高清性一级台湾| 扒开腿露出尿口扒开来摸| 欧美纯爱正片在线播放| Chinese情侣作爱videos| 丰满的上门保洁| 久久综合结合久久很很很97色| 日本妇人成熟免费| 啊…哥哥你的怎么又变大| 啊啊啊啊不要不要| 国产精品久久久久久久女厕留拍| 亚洲欧美电影在线一区二区| 爽好舒服快深点网站| 小s货真紧好爽奶头好大 | jizzjizz5hd日本护士| 美女的隐私图片无遮挡| 皇上好舒服?好紧H奴婢| 114AV成人网站| 久久99亚洲精品久久久久久久久 | 秀人网免费| 20岁chinaese男同志免费1|