![](/img/trans.png)
[英]Why and when do we add pointer in front of the lowerbound function in c++?
[英]Why do we need “./” in front of an excutable c++ file when we want to run it?
假設我有一個名為lencode
的可執行C ++程序,並且我想使用UUOC運行它。 我可以使用以下命令成功運行它:
cat file.txt | ./lencode
但是現在,由於某些要求,我希望我的命令行使用以下格式:
cat file.txt | lencode
我無法運行該程序。 我該如何實現?
之所以使用./
前綴,是因為當前目錄(如快捷方式"."
所指)不在$PATH
環境變量中。
一個答案是,輸入"."
在您的$PATH
環境中。
對於bash:
export PATH=$PATH:.
對於tcsh:
setenv PATH ${PATH}:.
要確定您的外殼:
echo $0
有關shell的更多信息:
man bash
要么
man tcsh
但是,這存在安全風險。 更好的方法(如Justin Rameriz的回答所述)是將包含lencode的目錄( /home/user/
如果lencode
位於/home/user/lencode
)放在$PATH
,或將lencode
移至$PATH
目錄。
例如,如果您使用tcsh
作為外殼程序:
mkdir $HOME/bin
cp lencode $HOME/bin
setenv PATH ${PATH}:$HOME/bin
要在下次登錄時保留此設置,應將其放置在$HOME/.tcshrc
文件中:
setenv PATH ${PATH}:$HOME/bin
將lencode目錄添加到您的路徑,或將其移動到您路徑中的目錄。 您可能並不總是希望當前目錄位於您的路徑中。 也就是說,任何時候只要您的cwd中有一個文件恰好是命令名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.