символы в аргументе командной строки .. python, bash

1

Я пишу python script в Linux для twitter post, используя API, возможно ли передавать символы типа "(" ") и т.д. в ясном тексте без апострофов....

% ./twitterupdate this is me  #works fine
% ./twitterupdate this is bad :(( #this leaves a error on bash.

Единственная альтернатива заключается в том, чтобы вложить текст в → ""?? как..

% ./twitterupdate "this is bad :(("  #this will reduce the ease of use for the script

Есть ли способ обхода?

Теги:
command-line-arguments

2 ответа

10
Лучший ответ

Да, цитирование строки является единственным способом. Bash имеет свой синтаксис, и некоторые символы имеют особое значение. Кстати, использование "" недостаточно, вместо этого используйте апострофы. Некоторые символы по-прежнему будут интерпретироваться с помощью обычных кавычек:

$ echo "lots of $$"
lots of 15570
$ echo 'lots of $$'
lots of $$
  • 0
    апострофы ... о, это принесет пользу :)
  • 1
    +1 за отличный пример.
1

http://www.gnu.org/software/bash/manual/bashref.html#Quoting

Ещё вопросы

Сообщество Overcoder
Наверх
Меню