第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在bash中轉(zhuǎn)義通配符/星號字符?

如何在bash中轉(zhuǎn)義通配符/星號字符?

如何在bash中轉(zhuǎn)義通配符/星號字符?例如。me$ FOO="BAR * BAR"me$ echo $FOO BAR file1 file2 file3 file4 BAR并使用“\”轉(zhuǎn)義字符:me$ FOO="BAR \* BAR"me$ echo $FOO BAR \* BAR我顯然做了一些愚蠢的事。如何獲得輸出“BAR * BAR”?
查看完整描述

3 回答

?
江戶川亂折騰

TA貢獻1851條經(jīng)驗 獲得超5個贊

設(shè)置$ FOO時引用是不夠的。您還需要引用變量引用:


me$ FOO="BAR * BAR"

me$ echo "$FOO"

BAR * BAR


查看完整回答
反對 回復(fù) 2019-08-27
?
慕婉清6462132

TA貢獻1804條經(jīng)驗 獲得超2個贊

我將為這個舊線程添加一些內(nèi)容。


通常你會用


$ echo "$FOO"

但是,即使使用這種語法,我也遇到了問題。請考慮以下腳本。


#!/bin/bash

curl_opts="-s --noproxy * -O"

curl $curl_opts "$1"

在*需要傳遞逐字到curl,但也會出現(xiàn)同樣的問題。上面的例子不起作用(它將擴展到當(dāng)前目錄中的文件名),也不會\*。您也無法引用,$curl_opts因為它將被識別為單個(無效)選項curl。


curl: option -s --noproxy * -O: is unknown

curl: try 'curl --help' or 'curl --manual' for more information

因此,如果應(yīng)用于全局模式,我建議使用該bash變量$GLOBIGNORE來完全防止文件名擴展,或者使用set -f內(nèi)置標(biāo)志。


#!/bin/bash

GLOBIGNORE="*"

curl_opts="-s --noproxy * -O"

curl $curl_opts "$1"  ## no filename expansion

應(yīng)用于您的原始示例:


me$ FOO="BAR * BAR"


me$ echo $FOO

BAR file1 file2 file3 file4 BAR


me$ set -f

me$ echo $FOO

BAR * BAR


me$ set +f

me$ GLOBIGNORE=*

me$ echo $FOO

BAR * BAR


查看完整回答
反對 回復(fù) 2019-08-27
  • 3 回答
  • 0 關(guān)注
  • 1186 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號