使用linux一兩個月後,我知道我現在在做什麼。
當使用任何語言創建程式時,我顯然一直在使用這樣的程式碼:
$ python test.py
因此,如果我想test.py
讀取給定的文件,我必須使用:
$ python test.py something.file
我現在想做的,它嘗試創建一個命令行應用程序,這樣我就可以使用
$ myapp something.file
python
類似in$ python test.py
或nano
in 的程序$ nano program.pl
但是我到底要從哪裡開始建立這樣的應用程式呢?網路上的一些拖網搜尋並沒有讓我一無所獲。
如果你能親自告訴我那就太好了,但我會很樂意接受一堆連結。
如果有不只一種方式,我完全開放,我真的不介意使用哪種語言(學習另一種語言的藉口!)或其他什麼。
答案1
您可以透過將 python 腳本設定為可執行 ( chmod +x test.py
) 並設定#!/usr/bin/env python
第一行來執行它們。一旦你這樣做了,運行test.py args
將調用 python 來運行你的腳本。閱讀舍邦如果您想了解更多。
答案2
在 C 語言中,它看起來像這樣:
int main(int argc, char *argv[]) {
argc 是參數的數量。請注意,程序/工具名稱很重要。
參數本身最終出現在參數向量(或陣列)argv 中。
然後是編寫程式碼以按預期方式處理它們的棘手部分。
然後用gcc編譯。您可以使用-o
(outfile) 標誌指定程式的名稱。從當前目錄運行該文件,如下所示:(./tool_name input_file_1 ... input_file_n
或將其放在寫入時出現的目錄中echo $PATH
,然後您可以從任何地方調用它,即不帶點)。
答案3
我用的是Go。它是一種跨平台的編譯語言,具有動態語言的程式設計便利性,並且支援並發和通訊。
我不會再回到 Python,因為用 Go 進行開發非常有趣。
http://golang.org/
https://github.com/languages/Go
這裡有一個簡單的程序,它會取得該命令中使用的參數:
package main
import (
"fmt"
"flag"
)
func main() {
fmt.Println("Arguments: ", flag.Args())
}