簡體   English   中英

如何在Shell腳本中處理文件名中的冒號“:”

[英]How to deal with colons “:” in filename in shell script

我有一大堆文件名中帶有“:”的文件。 當我在交互式外殼程序中時,鍵入“ \\”,然后單擊tab可以使它們被識別為命令的有效輸入,但是在外殼程序腳本中卻並非如此。

我試過了

less file:name.txt
less file\:name.txt
less 'file\:name.txt
less 'file:name.txt'

並且無法將其識別為有效文件。

但是,在交互式命令行上,我鍵入較少,然后鍵入第一個文件,然后鍵入\\,然后按TAB鍵,然后一切正常。

如何在Shell腳本中執行此操作?

使用雙引號:

less "file:name.txt"

Bash將雙引號中的值識別為完整字符串。

使用引號在文件名中包含空格和字符所示

如果要使用文件名中帶有空格或特殊字符的文件,則可能必須使用引號。

即使您什么也沒放,這仍然有效。

您可以嘗試:減少文件並為您識別...

但是您可以在bash中使用less "file:name.txt"作為字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM