溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么解決zsh使用scp命令時(shí)*通配符出現(xiàn)no matches的錯(cuò)誤

發(fā)布時(shí)間:2021-06-29 10:00:53 來源:億速云 閱讀:1012 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“怎么解決zsh使用scp命令時(shí)*通配符出現(xiàn)no matches的錯(cuò)誤”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么解決zsh使用scp命令時(shí)*通配符出現(xiàn)no matches的錯(cuò)誤”吧!


MacOS升級(jí)后zsh成了默認(rèn)的shell,順應(yīng)潮流開始了zsh的使用之旅。

今天使用scp復(fù)制遠(yuǎn)程多個(gè)文件時(shí)出現(xiàn)如下錯(cuò)誤:

# 復(fù)制某個(gè)目錄下的所有配置文件(*.conf)
scp host:/xxxx/*.conf .
# 錯(cuò)誤如下錯(cuò)誤
# zsh: no matches found: host:/xxxx/*.conf

很肯定這條命令語句在bash中能正常如期工作,出現(xiàn)這樣的問題應(yīng)該是zsh的鍋。作為資深linux用戶,可以很快看出了問題所在:zsh試圖將*通配符展開,在本地未找到對(duì)應(yīng)文件,于是出現(xiàn)“no matches”的錯(cuò)誤。

經(jīng)過個(gè)人嘗試以及網(wǎng)上搜索,有兩種解決方案:

  1. 不要讓zsh將*號(hào)展開;具體做法有:

    • 將*號(hào)部分用引號(hào)引起來,單雙引號(hào)都所無謂。例如:scp "host:/xxxx/*.conf" .,或者scp 'host:/xxxx/*.conf' .。也可以只引用路徑部分,例如:scp host:'/xxxx/*.conf' .;

    • 用反斜桿阻止zsh轉(zhuǎn)義:scp host:/xxxx/\*.conf .。

  2. 設(shè)置nonomatch選項(xiàng),讓zsh匹配失敗時(shí)不報(bào)錯(cuò)并使用原本內(nèi)容。具體做法是:setopt nonomatch,然后再使用scp命令。推薦的做法是寫入到.zshrc文件中,讓以后的使用中自動(dòng)生效。

參考

  1. zsh使用scp命令時(shí)*通配符無法使用

感謝各位的閱讀,以上就是“怎么解決zsh使用scp命令時(shí)*通配符出現(xiàn)no matches的錯(cuò)誤”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)怎么解決zsh使用scp命令時(shí)*通配符出現(xiàn)no matches的錯(cuò)誤這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

zsh
AI