quest: execute

This commit is contained in:
wancat committed 2024-07-26 16:25:38 +08:00
1 parent 8597c22b9f
commit 887d205ec1
6 files changed
+215 -16

No files matched your search

+26 -5
View File
@@ -25,7 +25,7 @@
---
那我們要執行一個可執行檔時,只要直接輸入它的路徑就可以執行它。
我們要執行一個可執行檔時,只要直接輸入它的路徑就可以執行它。
我們來試看看使用執行檔的路徑來執行指令。
> 輸入 `/bin/ls` 來查看當前的資料夾
@@ -51,9 +51,30 @@
---
你會看到這是一個用 `echo` 所組成的簡單程式,
你會看到這是一個用 `echo` 和 `cat` 所組成的簡單程式。
詳細的內容不用了解沒關係,功能是和 `cat` 一樣,用來印出檔案內容的程式。
但是這支程式,在沒有給要印出的檔案時,不會停留在輸入狀態。
當我們要執行一個非內建的指令時,需要指定它的路徑,可以使用絕對或是相對路徑。
如果使用相對路徑時,要用 `./` 來代表當前的目錄。因此我們要用 `./dog` 來執行 `dog` 檔案。
當我們要執行一個檔案時,就是用指定路徑的方式。
那因為 `dog` 位在家目錄底下,所以牠的絕對路徑就是 `/home/commander/dog`,我們也可以用簡寫 `~/dog`。
> 輸入 `./dog` 來執行 `dog` 檔案
> 輸入 `~/dog` 來執行 `dog` 檔案
---
你看到了終端機輸出這隻傲嬌的狗。
除了使用絕對路徑,很多時候,我們會處在跟程式相同的資料夾,這時使用相對路徑會更為便利。
但跟平常列出檔案時不一樣,我們為了區別它不是內建的指令,需要加上 `./` 在檔名前面。
`.` 在路徑中,代表的就是當前的資料夾。
那我們再試試看使用相對路徑,並讓牠接收一個檔案作為參數。
> 輸入 `./dog hello.txt` 來印出 `hello.txt` 的內容
---
你看到這隻狗在講了幾句話後也印出了 `hello.txt` 的內容了。
這個範例,其實就是一個簡單的自訂指令。
我們可以把一大串指令,寫在一個檔案裡讓它自動執行,幫我們處理一些複雜或是重複性的工作。
我們在使用別人寫的程式時,也常會用到這個技巧。
最後留一個小挑戰給你,請試著移動到 `commands` 資料夾後,再使用相對路徑執行裡面的 `lucky` 檔案。