我喜欢灵活性以及从 $ PATH变量或$ CDPATH 中的任何目录执行命令来更改目录的容易程度。
但是,您经常访问的目录列表是否可以轻松“减少或打开文件”。
假设您在另一个目录中有日志文件,而在另一个目录中有其他经常访问的目录。 less file1
命令应该在定义为$ PATH或$ CDPATH变量的目录列表中查找file1。
答案 0 :(得分:1)
我知道您正在寻找现有的解决方案,但如果您使用bash,您可以编写一个函数而不是这个行为:
放入~/.bashrc
:
less2()
{
if [ $# -eq 0 ]; then
echo 'Missing filename ("less --help" for help)'
return 1
fi
if [ "$1" == "--help" ]
then
less $1
return 1
fi
OLDIFS=$IFS
IFS=':'
if [ -z $LESSPATH ]; then
SEARCH_PATHS=.
else
SEARCH_PATHS=.:${LESSPATH}
fi
for dir in $SEARCH_PATHS
do
if test -e "$dir/$1"
then
less "$dir/$1"
IFS=$OLDIFS
return
fi
done
IFS=$OLDIFS
echo "$1: No such file or directory"
}
您需要执行source ~/.bashrc
才能获得bash中的less2。
如何使用脚本
默认情况下,它会在当前目录中查找文件。如果设置环境变量LESSPATH less2
将首先在当前目录中查找文件,然后如果它不在那里,它将在$LESSPATH
中的所有目录中查找该文件。 less2
是当前bash流程中的一项功能,因此无需导出LESSPATH
,但您当然也可以导出LESSPATH
。
$ less2 my_file.log
$ LESSPATH=path1:path2:path3
$ less2 my_other_file.log