linux命令補(bǔ)全設(shè)置 linux命令行補(bǔ)全

linux bash如何table補(bǔ)齊預(yù)設(shè)參數(shù)

1、自動(dòng)補(bǔ)全是Bash Shell的功能,相關(guān)的命令(compgen、complete、compopt)

創(chuàng)新互聯(lián)建站擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊(duì),在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕十余年,專業(yè)且經(jīng)驗(yàn)豐富。十余年網(wǎng)站優(yōu)化營(yíng)銷經(jīng)驗(yàn),我們已為1000+中小企業(yè)提供了成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)解決方案,按需網(wǎng)站制作,設(shè)計(jì)滿意,售后服務(wù)無憂。所有客戶皆提供一年免費(fèi)網(wǎng)站維護(hù)!

2、complete實(shí)例

創(chuàng)建hello_complete,內(nèi)容:

complete -F _hello_complete_func hello.sh

_hello_complete_func ()

{

local cur prev opts

COMPREPLY=()

cur="${COMP_WORDS[COMP_CWORD]}"

prev="${COMP_WORDS[COMP_CWORD-1]}"

opts="help usage version"

if [[ ${cur} == * ]] ; then

COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )

return 0

fi

}

3、source hello_complete讓補(bǔ)全的參數(shù)生效。

4、創(chuàng)建hello.sh

#!/bin/sh

echo "hello world"

5、./hello.sh [TAB][TAB]

help usage version

6、不用complete簡(jiǎn)單的提醒需要輸入?yún)?shù)

#!/bin/sh

str=$1

if [[ $1 == '' ]];then

echo "Usage: $0 help|version"

exit 0;

fi

echo "$str"

linux命令自動(dòng)補(bǔ)全工具bash-completion,自動(dòng)補(bǔ)全git、Docker、kubenetes等命令

在 Linux 命令行中,當(dāng)輸入字符后,按Tab 鍵,Shell 就會(huì)列出以這些字符開頭的所有可用命令,如果只有一個(gè)命令匹配到,按一次 Tab 鍵就自動(dòng)將這個(gè)命令補(bǔ)全。

如果輸入pass,此時(shí)按 Tab 鍵,因?yàn)橐詐ass開頭的命令只有passwd這個(gè)命令, Shell 就會(huì)自動(dòng)補(bǔ)全 passwd 命令。

另外如果輸入的字符匹配多個(gè)命令則會(huì)列出所有可用的命令,比如,如果輸入do,此時(shí)按 Tab 鍵 Shell 就會(huì)自列出可用的命令。

但是系統(tǒng)自帶的命令補(bǔ)全功能有限,自動(dòng)補(bǔ)全功能僅限于命令和文件名。

可以安裝 Bash 命令補(bǔ)全增強(qiáng)軟件包 bash-completion來實(shí)現(xiàn)更多命令的補(bǔ)全。

以Centos為例

直接通過yum命令安裝

bash-completion版本信息

配置命令補(bǔ)全

命令補(bǔ)全的腳本存放在/usr/share/bash-completion/completions/目錄,可以在這個(gè)目錄查看支持增強(qiáng)補(bǔ)全功能的命令。

再試試輸入docker命令后按tab鍵:

可以看到后續(xù)可用命令的提示,媽媽再也不用擔(dān)心我記不住命令了。

同樣對(duì)于kubenetes也可以實(shí)現(xiàn)命令的自動(dòng)補(bǔ)全和提示:

如果是在安裝bash-completion之后安裝git是不能自動(dòng)命令補(bǔ)全,需要手動(dòng)進(jìn)行一些配置。

git安裝之后文檔里會(huì)有g(shù)it-completion.bash文件

安裝完git之后重新source一下bash-completion

看看配置之后的效果

如果覺得有用記得收藏點(diǎn)贊

簡(jiǎn)述Linux中的命令行自動(dòng)補(bǔ)齊功能

在Linux系統(tǒng)中,輸入一個(gè)命令,按一次TAB鍵會(huì)補(bǔ)全命令,按兩次TAB鍵,就會(huì)列出所有以輸入字符開頭的可用命令。這個(gè)功能被稱作命令補(bǔ)全。默認(rèn)情況下,bash命令行可以自動(dòng)補(bǔ)全文件或目錄名稱。

要讓可編程命令補(bǔ)全功能在你的終端起作用 ,你只需要執(zhí)行/etc/bash_completion即可。如果你沒有找到/etc/bash_completion文件,那么你只需要通過使用apt-get命令來安裝bash_completion 包即可。

用法示例:

在輸入write命令之后,如果你按兩次TAB按鍵,自動(dòng)補(bǔ)全功能會(huì)提供執(zhí)行write操作的列表。

Linux Shell 按Tab鍵不能補(bǔ)全

在Linux的終端中輸入tab鍵時(shí),有時(shí)會(huì)出現(xiàn)命令不能補(bǔ)全的情況,此時(shí)有一種原因是bash錯(cuò)誤。

使用 ls -l /bin/sh 命令發(fā)現(xiàn)

/bin/sh - /bin/dash

dash是一個(gè)不同于bash的Shell,它主要為了執(zhí)行腳本而出現(xiàn),而不是交互,它速度更快,但功能比bash要少的多。語法嚴(yán)格遵守POSIX標(biāo)準(zhǔn)。

通過命令 ln -sf bash /bin/sh 可以將dash改成bash。此時(shí)問題可以解決。

Ubuntu系統(tǒng)在某些情況下,apt-get 不能補(bǔ)全相關(guān)命令,可以通過修改/etc/bash.bashrc文件的相關(guān)行,把默認(rèn)的#號(hào)去掉即可。

if [ -f /etc/bash_completion ]; then

/etc/bash_completion

fi

重新登錄Shell即可。

此處參考: .

本文出自 “ 低調(diào)的前進(jìn) ” 博客,請(qǐng)務(wù)必保留此出處

linux下的終端tab自動(dòng)補(bǔ)全命令是怎么實(shí)現(xiàn)的

一方面文件實(shí)質(zhì)都存放在根目錄下,樹狀目錄,所以tab可以在當(dāng)前指定目錄下尋找i節(jié)點(diǎn)信息補(bǔ)齊路徑或者文件名; 另一方面tab可以去查詢環(huán)境變量設(shè)置里面/etc/bin的命令文件,補(bǔ)齊命令。

windows系統(tǒng)下用putty訪問Linux,Tab命令補(bǔ)全功能如何實(shí)現(xiàn)?

Linux下TAB命令補(bǔ)全是bash的功能。putty登陸linux后需要切換到bash shell,先查看系統(tǒng)可用的shell種類:

[oracle@zeng?~]$?chsh?-l

/bin/sh

#這個(gè)不能使用tab補(bǔ)全命令

/bin/bash?

#修改為這個(gè)bash?shell即可

/sbin/nologin

/bin/tcsh

/bin/csh

/bin/ksh

修改當(dāng)前的shell

[oracle@zeng?~]$?chsh?

Changing?shell?for?oracle.

Password:?

New?shell?[/bin/bash]:?/bin/bash

Shell?changed.

分享文章:linux命令補(bǔ)全設(shè)置 linux命令行補(bǔ)全
網(wǎng)址分享:http://muchs.cn/article18/hgcpgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈、Google品牌網(wǎng)站建設(shè)、企業(yè)建站、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化