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

07-28 08:09