BASH 執行可行性檔案

2021-04-26 23:56:30 字數 1888 閱讀 2488

問題:

需要在linux

或者unix

系統下執行某個程式。

解決方案: 使用

bash

,在bash

的提示符後敲入你要執行的命令。

討論:這表面上看起來簡單,但是簡單的背後有一系列的事情是我們沒有看到的。理解

bash

的重點就是要知道

bash

的基本操作就是載入和執行可執行程式。當然

bash

還有其他的成分,比如

shell

變數,控制語句(

for,

if/them/else)

,還有控制輸入輸出的方法,不過這些都不過是程式執行的大蛋糕中的一小塊而已。 那麼

bash

是怎樣讓程式跑起來的呢?

bash

首先使用

$path

來找到你的程式,

$path

變數是乙個使用分號分隔的檔案目錄列表。

bash

在這些目錄中查詢你指定名稱的檔案,目錄在

$path

中的順序也就很重要了—

bash

是根據這個來查詢的,並且執行第乙個找到的檔案。

$ echo $path

/bin:/usr/bin:/usr/local/bin:.

$

在上面這個示例中,

$path

中包含了

4個目錄,最後是乙個點(叫做

dot directory

或者直接叫做

dot),表示當前目錄。在

linux

或者unix

檔案系統下面,你在任何地方都可以找到這個

dot目錄。比如你從某個位置

copy

檔案到dot

目錄(i.e. cp /other/place/file .)

,這樣你就將檔案拷貝到了當前目錄。通過把

dot目錄放到

path

中,bash

就會在當前目錄查詢命令(當然是在查詢

path

前面的目錄並且沒有找到之後)。

很多人認為把

dot加入到

$path

會帶來很大的安全隱患,你可能執行有的人寫的惡意程式而不是你期待的程式。比如

dot已經加入到了

$path

,那麼其他人的

ls可能替代正常的

ls,並且你可能執行這個命令,如果不相信的話,看下面的例子。

$ bash

$ cd

$ touch ls

$ chmod 755 ls

$ path=".:$path"

$ ls

$

這個時候,你會突然發現

ls在你的主目錄下面不工作了,得不到任何的輸出,如果你改變到其他目錄,

ls是正常的。這是為什麼呢?因為在你的主目錄下面有乙個空的

ls,在你主目錄下面會執行這個空的

ls而不是

/bin/ls。

如果你把

dot放到了

$path

的最後,至少不會得到向上面那樣的錯誤,但是最好的方法是不要把

dot加到

$path

中,在執行當前目錄下面的程式的時候,可以使用下面的形式

$ ./myscript

這是最佳的選擇。

可行性分析

做任何事情,都必須要做可行性分析,可行性分析能確保你做的事情在未來的努力過程中不會因為錯誤的方向而導致的夭折。人為什麼會有去學習某種知識的衝動?我覺得大部分的原因是因為虛榮心,自尊心,有些時候你看到別人擁有某種能力,你覺得非常的羨慕,那麼就有一種想去學的衝動,而不管自己是否有能力 有時間,是否適合自...

可行性分析

可行性分析 1.專案概述 1 專案名稱 智慧型宿舍管理系統 2 專案團隊 齊魯工業大學飛漾團隊 3 專案人員 王剛,陳楓,常瑜,梅寒,李振,楊宗信 4 專案建設目標 解決大學生實際學習,生活中所遇到的問題 5 專案內容 智慧型宿舍管理系統採用刷卡進門,進門後自動供電,出門時刷卡斷電。既保證了宿舍安全...

專案可行性報告

不論是在國營企業還是外資企業,在決定上乙個新的產品,乙個新的產品線,或者建乙個新的工程時,總要提交乙份可行性報告供上級審批。國企的可行性報告 國企的可行性報告是為了說服上級領導並得到相應的批准和支援,並假定上級領導比他們自己更了解情況。而報告一旦被批准,上級領導就要承擔相應的責任。目的上的差別自然導...