2013-10-04 6 views
4

В Linux и других ОС файл может содержать символы, такие как (,),[,],<space>, и т. Д. В их именах. Всякий раз, когда я пытаюсь использовать любой из этих файлов в моей команде баш, как кошки, LS, и т.д. Я должен избавиться от них, как показано ниже:Список символов, которые должны быть экранированы в командной строке linux

filename abc(10-oct).txt 
cat abc(10-oct).txt wont work. 

Если я предшествуют "(" и ")" символы с "\" характером, как

cat abc\(10-oct\).txt 

Это работает

Я пытаюсь автоматизировать некоторые из команд оболочки Linux с помощью Java program.And Я не уверен, что все персонажи я должен заботиться и избежать их.

Если кто-то может указать на ресурс, где я могу получить полный список символов, это будет большой помощью.

Большое спасибо

+0

Возможный дубликат http://stackoverflow.com/questions/15783701/which-characters-need-to-be-escaped-in-bash-how-do-we-know-it/15784162 # 15784162 – cdarke

ответ

5

Вы можете использовать одинарную кавычку 'filename', который будет бежать все должно быть экранированы в режиме оболочки

+1

Да, вроде как 'cat 'abc (10-окт.) .txt'' будет работать просто отлично. –

+0

ОК .. Я не знал об этом .. Я попробую это ..и определенно принимаем как ответ – Arunkumar

+2

За исключением надоедливой одиночной кавычки ', которая не может быть экранирована. – cdarke

6

Цитирование из Shell Command Language:

следующие символы должны быть указаны, если они для представления :

| & ; < > () $ ` \ " ' <space> <tab> <newline>

и при определенных обстоятельствах может потребоваться указать следующее. То есть, эти символы могут быть специальные в зависимости от условий, описанных в данном описании:

* ? [ # ~ = %

Различные цитируя механизмы экранирующий символ, одиночные кавычки и двойные кавычки.

Он также говорит:

Ограждающие символов в одинарные кавычки (»«) сохраняет буквальное значение каждого символа в одиночных кавычках. Одинарная кавычка не может встречаться в пределах одиночных кавычек.

И:

Ограждающие символов в двойных кавычках (»«) сохраняет буквальное значение всех символов в двойных кавычках, за исключением символов знак доллара, кавычка и обратная косая черта ...

Смежные вопросы