символы в аргументе командной строки .. python, bash - PullRequest
1 голос
/ 15 мая 2010

Я пишу скрипт на Python для Linux для поста в Твиттере, используя 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

Есть ли обходной путь?

Ответы [ 2 ]

10 голосов
/ 15 мая 2010

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

$ echo "lots of $$"
lots of 15570
$ echo 'lots of $$'
lots of $$
1 голос
/ 15 мая 2010
...