У меня есть сценарий csh, который является оболочкой для отправки сценария python в механизм сетки. Это работает, пока я не использую аргумент, содержащий кавычки.
Сценарий csh 'my. csh выглядит следующим образом:
#!/bin/csh -f
<grid command> my_script.py $*
my_script.py выглядит следующим образом:
#!<path>/python3.6
from argparse import ArgumentParser
def setup_arg_parser():
parser = ArgumentParser()
parser.add_argument('-argument',help='Just an example.')
args = parser.parse_args()
return args
if __name__ == '__main__':
args = setup_arg_parser()
print (args)
Когда вы вызываете my. csh следующим образом, он отлично работает
%> my.csh -argument \"-anything -is -fine\"
, но когда я делаю фолдинг, кавычки будут удаляется, и анализатор аргументов python сообщает об ошибке.
%> my.csh -argument "-this -does_not -work"
Есть ли способ предотвратить это без экранирования кавычек? Мне нужен способ предоставить кавычки для следующего скрипта, здесь это скрипт python.