centos大佬来来来,困扰了我一个多年的问题
<i class="pstatus"> 本帖最后由 uptime 于 2025-2-13 15:34 编辑 </i><br /><br />
先定义一个变量AAA<br />
export AAA=/usr<br />
<br />
再输入:<br />
cd $AAA/local<br />
此时按TAB键,没法联想出下面的路径,下面还有bin lib etc...,怎么才能联想出下面的路径?<br />
<br />
<br />
另外发现:debian11就没有此问题 把你的脑子插线到服务器上 让他知道你在想什么就行 把你的脑子插线到服务器上 让他知道你在想什么就行 要让`cd $AAA/local`中的TAB补全正常工作,可以按照以下步骤检查和解决:1. **确认路径正确性**:- 变量`AAA`的值为`/usr/local`,因此`$AAA/local`对应的路径是`/usr/local/local`。检查该路径是否存在:```bashls -l /usr/local/local```- 如果路径不存在,修正命令为`cd $AAA`,进入正确目录后再补全子目录(如`bin`、`lib`等)。2. **正确使用变量与路径拼接**:- 若要进入`/usr/local`的子目录(如`bin`),应输入:```bashcd $AAA/bin```- 或先进入`$AAA`再补全:```bashcd $AAA# 进入/usr/localcd bin/ # 按Tab补全```3. **确保Bash补全功能正常**:- 安装`bash-completion`包(如未安装):```bashsudo apt-get install bash-completion# Debian/Ubuntu```- 重新加载配置:```bashexec bash```4. **检查权限问题**:- 确保你有权限访问目标目录:```bashls -ld /usr/local/local# 检查是否存在及权限```5. **验证变量展开后的补全**:- 输入`cd $AAA/`后按Tab,应列出`/usr/local`下的子目录。若此处无法补全,检查Bash配置或变量是否正确。**总结**:大多数情况下,路径错误(如多写了`local`)导致补全失败。修正路径后,TAB补全应正常工作。若问题依旧,检查Bash补全配置和目录权限。 complete -o nospace,这个参数也设置不起来
页:
[1]