1樓:匿名使用者
source命令用法:
source filename
作用:在當前bash環境下讀取並執行filename中的命令。
注:該命令通常用命令「.」來替代。
如:source .bash_rc 與 . .bash_rc 是等效的。
注意:source命令與shell scripts的區別是,
source在當前bash環境下執行命令,而scripts是啟動一個子shell來執行命令。這樣如果把設定環境變數(或alias等等)的命令寫進scripts中,就只會影響子shell,無法改變當前的bash,所以通過檔案(命令列)設定環境變數時,要用source 命令。
在bash中可以使用source 可執行檔案 來執行一個可執行檔案,功能和./一樣
例: source 1.sh
./1.sh
不過要更改1.sh的許可權
在shell指令碼中也可以使用 ,例如
#/bin/bash
#filename:1.sh
echo ok!
source 1.sh
這時執行1.sh時就會無限呼叫1.sh 輸出為ok!無限迴圈,不過同樣要更改1.s**件的許可權
估計您source命令不好用的原因就是可執行許可權沒開,使用
chmod 777 1.sh 更改1.s**件的許可權
就可以使用了
2樓:
使用 source執行你的指令碼
linux shell程式設計指令碼第一行為什麼一定要用"#!/bin/sh",不寫行不行?這個"!"是什麼意思?
3樓:匿名使用者
#!/bin/sh為指定你執行指令碼的shell型別,是bash,ksh還是其它,一般系統有固定的shell,不定這行也能執行,只是為了規範寫上的。還有比如你執行的是perl程式,就可以寫#!
/bin/perl.
4樓:匿名使用者
#! /bin/sh 是指此指令碼使用/bin/sh來解釋執行,#!是特殊的表示符,其後面跟的是解釋此指令碼的shell的路徑
如果沒有宣告,則指令碼將在預設的shell中執行,預設shell是由使用者所在的系統定義為執行shell指令碼的shell.如果指令碼被編寫為在kornshell ksh中執行,而預設執行shell指令碼的為c shell csh,則指令碼在執行過程中很可能失敗。
5樓:使者
表示用來解釋此指令碼的程式是"/bin/sh"
不寫的話應該不會出錯。
但是考慮到移植問題,還是寫上比較好。
6樓:匿名使用者
這個是告訴系統,應該呼叫哪個東西來執行他。
是特殊格式。
linux的shell程式設計中#!/bin/sh和$bash是什麼意思?
7樓:晰美酒窩
#! /bin/sh 是指此指令碼使用,/bin/sh來解釋執行,#!是特殊的表示符,其後面根的是此解釋此指令碼的shell的路徑。
補充:程式設計是編寫程式的中文簡稱,就是讓計算機為解決某個問題而使用某種程式設計語言編寫程式**,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須要將需解決的問題的思路、方法、和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算機之間交流的過程就是程式設計。
程式設計:設計具備邏輯流動作用的一種「可控體系」【注:程式設計不一定是針對計算機程式而言的,針對具備邏輯計算力的體系,都可以算程式設計】
8樓:
指定作業系統的shell型別
linux下的source命令的基本功能
9樓:射手座的
source命令用法:source filename
作用:在當前bash環境下讀取並執行filename中的命令。
注:該命令通常用命令".」來替代。
使用範例:
1、source filename
2、. filename #(中間有空格)
source命令(從 c shell 而來)是bash shell的內建命令。點命令,就是個點符號,(從bourne shell而來)是source的另一名稱。
同樣的,當前指令碼中配置的變數也將作為指令碼的環境,source(或點)命令通常用於重新執行剛修改的初始化文件,如 .bash_profile 和 .profile 等等。
例如,假如在登入後對 .bash_profile 中的 editer 和 term 變數做了修改,則能夠用source命令重新執行 .bash_profile 中的命令而不用登出並重新登入。
比如在一個指令碼里export $kkk=111 ,假如用./a.sh執行該指令碼,執行完畢後,執行 echo $kkk,發現沒有值,假如用source來執行 ,然後再echo,就會發現kkk=111。
因為呼叫./a.sh來執行shell是在一個子shell裡執行的,所以執行後,結構並沒有反應到父shell裡,但是source不同他就是在本shell中執行的,所以能夠看到結果。
source命令(從 c shell 而來)是bash shell的內建命令。點命令,就是一個點符號,(從bourne shell而來)是source的另一名稱。
這兩個命令都以一個指令碼為引數,該指令碼將作為當前shell的環境執行,即不會啟動一個新的子程序。所有在指令碼中設定的變數將成為當前shell的一部分。
linux的shell程式設計中#!/bin/sh和$bash是什麼意思
10樓:改憐雙
#! /bin/sh 是指此指令碼使用/bin/sh來解釋執行,#!是特殊的表示符,其後面根的是此解釋此指令碼的shell的路徑。
$bash $表示系統提示符,$ 表示此使用者為普通使用者,超級使用者的提示符是#。
bash是shell的一種,是linux下最常用的一種shell。
$bash的意思是執行一個子shell,此子shell為bash。
要注意,在每個指令碼的開頭都使用"#!",這意味著告訴你的系統這個檔案的執行需要指定一個解 釋器.#!
實際上是一個2位元組[1]的魔法數字,這是指定一個檔案型別的特殊標記, 換句話說, 在 這種情況下,指的就是一個可執行的指令碼(鍵入man magic來獲得關於這個迷人話題的更多詳細 資訊).在#!之後接著是一個路徑名.
這個路徑名指定了一個解釋指令碼中命令的程式,這個程式可 以是shell,程式語言或者是任意一個通用程式.這個指定的程式從頭開始解釋並且執行指令碼中 的命令(從#!行下邊的一行開始),忽略註釋.
[2] 如: 1 #!/bin/sh 2 #!
/bin/bash 3 #!/usr/bin/perl 4 #!/usr/bin/tcl 5 #!
/bin/sed -f 6 #!/usr/awk -f
注意: #! 後邊給出的路徑名必須是正確的,否則將會出現一個錯誤訊息,通常是 "command not found",這將是你執行這個指令碼時所得到的唯一結果.
如果在指令碼的裡邊還有一個#!行,那麼bash將把它認為是一個一般的註釋行.
linux輸入ifconfig命令為什麼不行啊
zero正則 linux發行版的時候會預設需要新增使用者ifconfig命令許可權,一般用root賬戶進去或者給組使用者新增許可權,具體操作如下 1 建議這個操作在root下進行,用root賬戶進去,輸入su root命令。2 如果只想在本次開機過程中臨時性的新增修改,下次開機就無效的話,可以輸入e...
為什麼要學習Linux,為什麼要學習linux
為了討生活 有些工作需要用到linux,比如linux開發,linux系統管理員,需要用到linux的各種工作。節約成本也是這種情況,為了躲避微軟的win授權費。還有黑客喜歡用linux作為工具。為了好玩 各種geek玩法,黑客,桌面控。為了學習it知識 滿足求知慾。深入學習作業系統架構和原理知識等...
Linux有什麼功能,Linux作業系統的功能有哪些?
北京迅為 開發板新增語音合成和繼電器功能並設定開機自啟動。 開源,我們用的xp要1700多,而linux免費 linux作業系統的功能有哪些?linux主要是幹什麼用的? 景田不是百歲山 主要是用於後端伺服器作業系統 linux是一種自由和開放原始碼的類unix作業系統。它能執行主要的unix工具軟...