【发布时间】:2022-07-05 16:27:53
【问题描述】:
我正在尝试重新获得 c-shell 和 tcsh 的一些简单性。我有一个简单的别名,可以让我列出目录 (alias lsdd 'ls | grep /')。我找到了一个帖子,里面有几个解决方案,但没有一个特别令人满意。例如,
ls -d */
除非没有子目录,否则效果很好,在这种情况下,您会收到一条错误消息——不完全优雅。
echo */
没有给出那个错误,但列表不像单列那样容易阅读。
所以,我一直在/etc 中查找 bash 定义其ls 命令的位置,以便它使用颜色,并去除目录名称后面的/。这似乎是一个剪芽的好地方。在哪个启动文件中,bash 在 ls 命令中从目录名称中去除斜杠?
【问题讨论】:
-
如果你传递给
ls一个以斜杠结尾的目录名,ls也会在输出中附加一个斜杠。当您执行ls -d $HOME /tmp/时,您可以观察到这一点:您的主目录将不带斜线列出,而 /tmp 将带斜线。