【发布时间】:2020-07-14 21:20:44
【问题描述】:
我想创建一个名为 Ls 的别名,当我尝试列出特定文件时,它会打印出当前目录和文件名
unix> ls a.txt
unix> a.txt -> print out
I want it to print out the directory name too:
unix> /hier1/hier2/hier3/a.txt
When I do 'ls -d $PWD/a.txt'
it prints out
unix> /hier1/hier2/hier3/a.txt
When I make an alias of the above
alias Ls 'ls -d $PWD', it prints out the as below with a space.
unix> Ls a.txt
unix> /hier1/hier2/hier3 a.txt
How do I get the below print without the space and with a slash as below:
unix> Ls a.txt
unix> /hier1/hier2/hier3/a.txt -> THIS IS WHAT I WANT
【问题讨论】:
-
请以tour 开头并阅读How to Ask。然后,阅读您应用的标签的描述,了解您的问题本身存在缺陷的原因。
-
错误的站点。您正在寻找Unix & Linux。本网站是针对与编程相关的问题,而不是一般的计算机或操作系统支持。
-
我认为您最好编写一个脚本来执行此操作,而不是尝试使用别名来执行此操作。此外,编写脚本应该是本网站的主题。
-
是的,编写一个脚本,或者将您的脚本声明为
.bashrc或bash来源的其他.文件之一中的函数。您必须欺骗别名以使用可变参数,并且当您决定“哦,我需要另外一个功能才能真正快乐”时,无论如何您都需要编写一个函数。 (人们从哪里一直认为别名是第一行解决方案?!;-)! ) .祝你好运。