首页 > 解决方案 > Bash 4.4 无法自动完成“更多”但不是“更少”或“cd”的环境变量

问题描述

我正在运行 Ubuntu 18 和 bash 4.4 的服务器上工作,并且我在自动完成和扩展存储在环境变量中的路径方面遇到问题,但前提是我使用“更多”命令:

    $ echo $TEST_DIR

    $ export TEST_DIR=/home/yhasin/RNAseq_testing
    $ echo $TEST_DIR
    /home/yhasin/RNAseq_testing
    $ ls $TEST_D<Tab> # autocompletes correctly and shows content
    $ ls $TEST_DIR 
    acc_list_test.txt
    $ less $TEST_DIR/acc<Tab> # expands correctly into:
    $ less /home/yhasin/RNAseq_testing/acc_list_test.txt #shows content correctly
    $ more /home/yhasin/RNAseq_testing/acc_list_test.txt  #shows correctly
    $ cd $TEST_D<Tab> #autocompletes and navigates correctly

但:

    $ more $TEST_D<Tab> #Does not expand
    $ more $TEST_DIR/acc<Tab> #expands to
    $ more \$TEST_DIR/acc_list_test.txt 
    more: stat of $TEST_DIR/acc_list_test.txt failed: No such file or directory

为什么“more”在扩展路径时会在路径中添加“\”?我需要向我的 .bashrc 添加什么以使其与所有其他命令相同?是否有其他特定命令存在此问题?

标签: bashautocompletevariable-expansion

解决方案


推荐阅读