有點奇怪的bash script 參數問題 - Linux

Mia avatar
By Mia
at 2015-10-11T21:06

Table of Contents

承上,

感謝CP64的解說,所以說萬用字元*會在有參數的script執行中轉譯2次?

接下來就跟萬用字元有關的問題,如下圖:

ls c* 就是列出 c開頭的檔案,所以得到 cccc. command.sss

ls c\* 因為*被 \ escape掉了,所以列出叫 c* 的檔案,但是沒有叫 c* 的檔案,
所以顯示 c*: No such file or directory

find . -name c\* 應該也要顯示 No such file or directory ?
為何可以找到./cccc.
./command.sss

http://i65ynb.2fh.co/pics/wildc.jpg


--
Tags: Linux

All Comments

Catherine avatar
By Catherine
at 2015-10-13T13:00
因為find也把 '*' 當作 wildcard
Jake avatar
By Jake
at 2015-10-13T22:39
find . -name c\* 也有escape呀! 比較 ls c\*
Margaret avatar
By Margaret
at 2015-10-18T08:05
因為 find 最後吃到的還是 c*
Freda avatar
By Freda
at 2015-10-21T09:41
如果你資料夾底下有 ca cb cc 3個檔案
因為它是 find
Olga avatar
By Olga
at 2015-10-22T11:59
為何 ls c\* 就不一樣?
Andy avatar
By Andy
at 2015-10-24T01:12
前面說有那3個檔案時 你執行 ls c* 會被變成 ls ca cb cc
Puput avatar
By Puput
at 2015-10-26T04:30
執行 ls c\* 實際執行的是 ls c*
Lily avatar
By Lily
at 2015-10-29T23:57
然後 find 本身會拿 -name 後面拿到的字串做 wildcard 比對
Isla avatar
By Isla
at 2015-10-30T15:58
普遍來說,ls c\* 是特例,還是 find c\*是特例?
Doris avatar
By Doris
at 2015-11-03T23:27
個人觀點是 find c\*
因為不是每隻程式都會把吃進來的*再轉譯一次
Susan avatar
By Susan
at 2015-11-08T17:03
啊 但是 find 只有 -name 後面的參數才會喔
Hazel avatar
By Hazel
at 2015-11-13T04:17
真是的,被這些'棉棉角角'弄的頭婚腦帳
Cara avatar
By Cara
at 2015-11-16T03:37
如果你不希望 shell 亂解特殊符號的話 記得用 '' 框起來
Christine avatar
By Christine
at 2015-11-16T12:39
都不是特例啊 你寫個程式自己處理argv就知道了
Kelly avatar
By Kelly
at 2015-11-20T23:41
哪有什麼特例? man find 看一下 -name 會花很多時間?
不然就 'c\*' 做兩次不會喔
Linda avatar
By Linda
at 2015-11-22T18:54
覺得 bash 預設很難用也可以 GLOBIGNORE 幹掉 *
Ophelia avatar
By Ophelia
at 2015-11-23T13:13
用set -x打開 就可以知道真正下到程式裡的argument們了

openvpn的static key和tls-auth一樣嗎?

Harry avatar
By Harry
at 2015-10-11T18:39
openvpn --genkey --secret static.key 我在使用tls認證的時候,看到static key的製作和tls-auth都是用上面的指令產生 key,所以感覺tls-auth就是先用static key再跑原本的ca/crt認證方式,也就是 原本的conf多加一個tls-auth就 ...

安裝hime 注音後,為何沒辦法輸入中文?

Elvira avatar
By Elvira
at 2015-10-11T14:41
安裝注音輸入法,做兩次了 每次都是裝完mint 17後,再install hime當注音輸入法 gcin沒有裝,只有apt-get install hime 跟 hime-chewing,右下角可以選擇 輸入法成 變成酷注音, 可是奇怪的是按鍵盤就是不會出中文選擇,還是一直輸入英文!!!? 只有在螢幕的 ...

Windows8 + Centos7.1==>開機選項不見win8

Yuri avatar
By Yuri
at 2015-10-11T02:12
各位高手大家好: 有個關於雙作業系統的問題向大家求救: 我有台NB原本安裝windows 8作業系統, 我一時興起,請堂弟把Linux centos7.1也灌進去了。 結果,重開機後沒有在開機選單中看到windows 8。atat 我和堂弟都是新手,因而問題卡住了。 現在急著要透過原本windows 8 ...

萌 快樂

Lauren avatar
By Lauren
at 2015-10-10T12:01
本日我國最萌,應懸掛國旗 祝大家萌快樂 ^.^ http://www.wolflord.com/Picture/monday.jpg -- ~~於是,銀河的歷史又被海賊抹黑了好幾百頁。 ...

如何刪除網路芳鄰紀錄

Jacob avatar
By Jacob
at 2015-10-09T20:17
正在做學校的系統 之前測試用的samba伺服器明明就關掉了 windows7卻還會顯示 我的電腦→網路就會看到(以關掉的samba 上網查了 用 net use的指令能刪除 確實清空了 連線紀錄 但是之前測試用的samba伺服器還會顯示在 網路芳齡那邊 後來直接拔網路 重開機 重新整理 都還會持續顯示 請 ...