2015-07-13 60 views
1

我希望這個問題沒關係。基本上我想要做的是創建一個小程序,使用Ubuntu終端,我可以調用它並從任何目錄執行命令。舉一個簡單的例子,像print Hello World這樣的東西只會打印Hello World退出。 有關我如何做到這一點的任何建議?以編程方式創建終端命令?

#include <iostream> 

int main(int argc, char* argv[]) 
{ 
    for (char letter : arv) { 
     std::cout << letter; 
    } 
} 

我覺得這樣的事情會的工作,只是一個非常簡單的程序,但我怎麼能得到它安裝,我可以在任何地方使用的命令?
我希望這是有道理的,如果我要詳細說明一些事情,請告訴我。
爲了解釋爲什麼這不是重複的,我會詳細說明一下,我並沒有問如何從程序中調用一個命令。我已經部分地回答說,我可以將我的可執行文件移動到/usr/bin/目錄,這很有幫助,但是我更加好奇我如何做到這一點,以便如果用戶下載並使用我的程序,他們不會有將文件移動到/usr/bin/,他們可以下載並擁有其全局命令。

+0

的可能重複[我怎樣C代碼中在Linux上執行外部程序與參數?](http://stackoverflow.com/questions/5237482/how-do-i-execute-external-program-within-c -code-in-linux-with-arguments) –

+0

我想你誤解了我,我不想從程序中調用命令,我想從終端的命令行調用它。就像你會打電話給ls或gedit什麼的。 – Dylan

+4

然後,只需將路徑(/ usr/bin,/ usr/local/bin)中的某個位置放在可執行文件中,或者修改用戶的路徑環境以在主目錄中包含某個目錄。 –

回答

4

的命令就是在環境變量PATH指定的目錄中的一個程序。

運行echo $PATH,以查看目錄(用冒號分隔)。

用戶可以簡單地將其複製到任何這些目錄中的「安裝」程序。通常,/usr/local/bin用於在程序包管理器之外安裝的程序,但任何程序都可以使用。他們也可以將其複製到一個新的目錄並將該目錄添加到他們的PATH

如果你希望它發生「自動」,那麼你需要讓用戶運行不同的程序,它會爲他們。

+0

非常感謝,這就是我一直在尋找的東西。如果你不介意我讓你繼續,那麼有人會爲他們的PATH添加一個目錄?我知道如何在Windows中做到這一點,但我不太確定Linux/Ubuntu。謝謝! – Dylan

+1

「命令只是環境變量PATH指定的目錄中的一個程序。」而且有可執行位設置:如果它不具有位(用'使用chmod + x命令要被賦予的 - 執行 - permissions'),如果是在'PATH'也沒關係。 – juandesant

-1

你需要使用TI alias命令 http://www.hostingadvice.com/how-to/set-command-aliases-linuxubuntudebian/ 或移動您的腳本/ bin中爲/ bin/

+0

我如何更直觀地進行用戶操作?就像你安裝maven時一樣,你可以調用'mvn'。我希望如此,如果用戶使用我的程序,他們將能夠調用一個簡單的命令來使用它。如示例中的「print」。 – Dylan

+0

/bin用於核心系統可執行文件。甚至包管理者通常都沒有碰到這種情況 – PSkocik

+0

@PSkocik首選'/ usr/bin'還是'/ usr/local/bin'? – Dylan