Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell选项,用于在将cd刻录到Linux中的文件夹时自动列出所有文件_Linux_Bash_Shell - Fatal编程技术网

Shell选项,用于在将cd刻录到Linux中的文件夹时自动列出所有文件

Shell选项,用于在将cd刻录到Linux中的文件夹时自动列出所有文件,linux,bash,shell,Linux,Bash,Shell,我真的厌倦了键入ls。shell中是否有一个命令或选项,可以在将cd放入文件夹后显示所有文件,而无需键入ls?谢谢大家! 原件: folder>cd subfolder subfolder>ls yu fi sd 我期待的是: folder>cd subfolder yu fj sd subfolder> 注:我知道我可以使用 cd子文件夹;ls 但是我真的不想键入ls,因为它很无聊 基本上,我是在寻找一个内嵌在shell中的命令,这样我就可以根据自己的意愿打开或关闭

我真的厌倦了键入
ls
。shell中是否有一个命令或选项,可以在将
cd
放入文件夹后显示所有文件,而无需键入
ls
?谢谢大家!

原件:

folder>cd subfolder
subfolder>ls
yu fi sd
我期待的是:

folder>cd subfolder
yu fj sd
subfolder>
注:我知道我可以使用
cd子文件夹;ls
但是我真的不想键入
ls
,因为它很无聊


基本上,我是在寻找一个内嵌在shell中的命令,这样我就可以根据自己的意愿打开或关闭这个功能

您可以创建一个名为cdls的函数,例如
cdls

cdls () { cd "$1" && ls ;} 
按以下方式运行:

cdls /directory
例如:

$ cdls () { cd "$1" && ls ;} 

$ cdls foo
bar

$ pwd
/home/foobar/foo
  • 如果您只想在
    cd

    实际上,您需要在
    .bashrc
    中将
    cd
    定义为一个函数,如下所示:

    cd() {
        builtin cd $@
        ls
    }
    
    prompt_func() {
        export PS1="$(ls)\n$ "
    }
    export PROMPT_COMMAND=prompt_func
    
  • 如果要在shell中的每个命令之后执行ls:

    然后在
    .bashrc
    中设置如下内容:

    cd() {
        builtin cd $@
        ls
    }
    
    prompt_func() {
        export PS1="$(ls)\n$ "
    }
    export PROMPT_COMMAND=prompt_func
    

  • 尽管它不是脚本解决方案,但请安装。运行
    mc
    ,每次进入目录时都会看到文件列表。您可以在
    mc
    界面中使用shell。您还可以使用
    Ctrl-1
    Ctrl-2
    切换窗格


    我认为脚本解决方案不适合您的情况。

    您可以创建一个别名
    alias hello=“ls”
    。这样,您就不用输入
    ls
    ,而是必须键入
    hello
    :POr您可以创建一个集所有功能于一体的小函数:
    cd
    ls
    -->
    f(){cd“$1”;ls}
    。不,我不想键入“ls”,我希望所有文件都列为默认值shell中是否已经有嵌入选项?@fedorqui:如果op创建别名,我想以后会很痛苦,比如当他们编写一个不需要这种行为的脚本时:d第二个解决方案为每个命令重新设置提示,并删除我可能有的任何提示。为什么不仅仅是
    PROMPT\u COMMAND=ls
    ?它也可以。然而,我使用了一个函数,因为在函数中经常需要做很多其他事情来设置PS1。我的意思是这对我来说更方便。