侧边栏壁纸
博主头像
Ivan Zhang

所谓更牛,就是换个罪受

  • 累计撰写 48 篇文章
  • 累计创建 54 个标签
  • 累计收到 6 条评论

目 录CONTENT

文章目录

通过文件序号进入文件夹

Ivan Zhang
2022-02-18 / 0 评论 / 0 点赞 / 545 阅读 / 636 字
温馨提示:
本文最后更新于 ,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
有什么问题或观点欢迎评论留言,或者 交流。
如果觉得文章对您有所帮助,可以给博主打赏鼓励一下。

场景

putty 等终端,在远程连接的情况下,可能出现中文显示不乱码,但是通过键盘输入或者复制粘贴中文信息乱码的情况,此时,要进入对应的目录,操作起来比较麻烦。

解决方案

  1. 创建 /data/bash/cdd.sh 文件(可根据个人习惯保存)

    ############################
    # 通过文件序号进入文件夹   #
    # source /data/bash/cdd.sh #
    ############################
    #!/bin/bash
    # 子目录列表临时文件
    tmp_file=/tmp/file.md
    
    # 写入子目录列表到临时文件,如果目录下子目录,丢弃错误信息
    ls -d */ > ${tmp_file} 2>/dev/null
    
    # 由于当前脚本要使用 source 在父 shell 执行,不能用 exit 中断,否则将直接关闭终端
    if [ $? -ne 0 ]; then
        # 输出提示信息
        echo "当前目录没有子目录!!!"
    else
        # 显示序号与子目录列表信息
        cat -n ${tmp_file}
    
        # 获取交互输入的序号
        read -p "请输入目录序号:" no
    
        # 进入序号对应目录
        cd "`sed -n "${no}p" ${tmp_file}`"
    fi
    
  2. 编辑 ~/.bash_profile 文件,添加 alias cdd="source /data/bash/cdd.sh" 别名。保存后执行 source ~/.bash_profile

0

评论区