А вот почему. Напишем скрипт:

#!/bin/bash
STR=""
for ITEM in a b c; do
  STR="$STR --param='$ITEM'"
done
echo $STR

И выполним его:

$ ./suka
--param='a' --param='b' --param='c'

Нормально? Всё нормально? Ну конечно же всё нормально, всё как и должно быть.
А теперь посмотрим ЧТО ТАМ НА САМОМ ДЕЛЕ БЛЯДЬ СУКА ЁБАНЫЙ В РОТ ПРОИСХОДИТ:

#!/bin/bash
STR=""
for ITEM in a b c; do
  STR="$STR --param='$ITEM'"
done
set -o xtrace
echo $STR
$ ./suka
+ echo '--param='\''a'\''' '--param='\''b'\''' '--param='\''c'\'''
--param='a' --param='b' --param='c'

ОП, БЛЯДЬ. А ЧТО ЖЕ ЭТО У НАС ЗА ОДИНАРНЫЕ КАВЫЧЕЧКИ, ЗАКЛЮЧЕННЫЕ В ОДИНАРНЫЕ КАВЫЧЕЧКИ ПОВЫЛЕЗАЛИ? А ЭТО КАКАЯ-ТО ТУПАЯ СУКА РЕШИЛА ЧТО РАЗ ВНУТРИ ПЕРЕМЕННОЙ ОДИНАРНЫЕ КАВЫЧЕЧКИ, ТО ОБЯЗАТЕЛЬНО НЕОБХОДИМО И ВОКРУГ ЗНАЧЕНИЯ ОДИНАРНЫХ КАВЫЧЕК ПОНАХУЯЧИТЬ И ВСЁ ЭТО ПОТОМ ЕЩЁ СУКА ЗАЭСКЕЙПИТЬ. А Я ТЕБЯ СУКА ОБ ЭТОМ НЕ ПРОСИЛ БЛЯДЬ! Я В ГРОБУ В БЕЛЫХ ТАПКАХ ТВОИ КАВЫЧКИ ЁБАНЫЕ ВИДЕЛ! Я УЖЕ ВСЁ ЧТО МНЕ НАДО ЗАЭКРАНИРОВАЛ, ЁБАНАЯ ТЫ ДРЯНЬ. КАКОГО ХУЯ? ДОКОЛЕ?

Да, это прокатывает с echo. А вот с rsync это говно уже не прокатывает, rsync вас нахуй с вашими одинарными кавычками пошлёт. И когда вы это будете всё дебажить, хуя с два вы сразу увидите и разберётесь почему rsync игнорирует ёбаные ключи. А всё потому, что если у vi есть два режима - бибикать и всё портить, то у bash их как минимум три - бибикать, всё портить и срать сука кавычками вокруг и внутри переменных при их выводе. А знаете как сделать ВОРКЭРАУНД блэт? А НИКАК! НИКАК ЕГО СУКА НЕ СДЕЛАТЬ, ПОТОМУЧТО ЛЮБЫЕ ПОПЫТКИ ДОБАВИТЬ КАВЫЧКИ СРАЗУ ВЫЗОВУТ ЭТУ КАВЫЧЕЧНУЮ ТУГОСЕРЮ

#!/bin/bash
STR=()
for ITEM in a b c; do
  STR+=(--param="$ITEM")
done
set -o xtrace
echo ${STR[@]}

Как видно выше, нам нужно сделать всё через жопу и потом молиться чтобы ТУГОСЕРЯ в нужный момент добавила кавычек туда, где они требуются. И конечно с усложнением кода всё это вызовет новый виток ебанизма и дегенерастии и ваш код на bash НИКОГДА. НИКОГДА СУКА БЛЯДЬ не будет работать так, как написано. Потомучто написано одно, а происходит блядь совершенно другое. И потом, как всегда, ОКАЗЫВАЕТСЯ, что когда ты блядь пишешь a = b + c то ВЫЯСНЯЕТСЯ что интерпретируется это как a = '''"""""" ++ ++ +-- + --+ **///- +b (c^435345) НУ КАНЕШНО РАЗВЕ МОГЛО БЫТЬ ИНАЧЕ

Вот такой вот сука блядь новый год. А потом ещё набегают толпы ебанутых, которые кричат ну это ты сам виноват, ты языка не знаешь. Да засуньте себе в жопу этот язык. Мне ПРИХОДИТСЯ им пользоваться, я ВЫНУЖДЕН блядь, потомучто он на каждой ёбаной машине как дефолтная среда установлен и это сука блядь НИКОГДА не изменится. И это вообще не язык, это ебучая среда, языком это назвать язык не поворачивается. Выход из семи, блядь.

[ ]
 

Leave a Reply

*