场景
putty
等终端,在远程连接的情况下,可能出现中文显示不乱码,但是通过键盘输入或者复制粘贴中文信息乱码的情况,此时,要进入对应的目录,操作起来比较麻烦。
解决方案
-
创建
/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
-
编辑
~/.bash_profile
文件,添加alias cdd="source /data/bash/cdd.sh"
别名。保存后执行source ~/.bash_profile
评论区