bash函数。帮我理解

bash函数。帮我理解,bash,function,ls,cd,Bash,Function,Ls,Cd,尝试设置一个快捷方式,允许我将cd刻录到一个目录中,并在其中列出文件 这是我到目前为止得到的。我的知识有限,这几乎只是从网上复制和粘贴资源,不知道我在做什么,但在这个过程中学习: cdl () { cd $1 ls . $1 } 它执行我想要的操作,但会产生错误: ls: cannot access colorschemes/: No such file or directory .: 如何消除错误消息?如果已将CD刻录到某个目录,则无需运行ls-lth。没有必要再提到目录名

尝试设置一个快捷方式,允许我将cd刻录到一个目录中,并在其中列出文件

这是我到目前为止得到的。我的知识有限,这几乎只是从网上复制和粘贴资源,不知道我在做什么,但在这个过程中学习:

cdl () {
    cd $1
    ls . $1
}
它执行我想要的操作,但会产生错误:

ls: cannot access colorschemes/: No such file or directory
.:

如何消除错误消息?

如果已将CD刻录到某个目录,则无需运行ls-lth。没有必要再提到目录名

function cdl () {
   cd "$1"
   ls -lth
}
如果您还没有这样做,我建议您将其添加到您的.bash_配置文件中


问候

提示:当你
cd
进入一个名为
dirname
的目录时,
ls dirname
还有意义吗?如果我从第三行取出
,我会得到这个错误“ls:cannotaccesscolorschemes/:没有这样的文件或目录”,并且根本没有列出文件,应该真正引用
“$1”
。很好。非常感谢。完全符合我的要求(减去-lth标志)。你能解释一下为什么这个有效而我的无效吗?它是否与
cdl
之前的
函数有关?@m147很酷。很高兴听你这么说。你能解释一下为什么这个有效而我的无效吗?它与cdl之前的函数有关吗?@m147您试图列出
colorschemes/
colorschemes/colorschemes/
。后者是无效目录,导致错误。这与你的功能没有任何关系。如果打开一个终端,运行
cd/
,然后运行
cd-tmp
切换到
/tmp
,然后运行
ls-tmp
尝试在
/tmp
中列出一个目录,则会出现相同的错误。列出当前目录的正确方法是
ls
ls.
,而不是
ls relativeNameOfCurrentDir