假设我有一个名为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