Anonymous
Вы какой то злой. Я на полном серьезе спрашиваю
Daniel
кавычки нужны при запуске из шелла, чтобы шелл не интерпретировал пробелы, которые вы не хотите, чтоб он интерпретировал
когда вы используете exec.Command() - вы сами разбиваете строку на аргументы, и кавычки тут не нужны вообще. некому интерпретировать пробелы, некому
Daniel
если бы вы не ленились читать доку - вы бы сообразили это сами
Daniel
а теперь идите, и напишите на доске "я буду читать доку всегда" 100 раз
Anonymous
Find как бы интерпритирует пробелы
Anonymous
Просто попробуйте
Daniel
я пробовал неоднократно
Daniel
и у меня все всегда работает
Daniel
я серьезно - идите почитайте доку
Anonymous
Ну так покажите пример как вы туда одинарные кавычки передаете :)
Daniel
exec.Command("cmd", "/C", "shutdown", "/s", "'одинарные'").Run()
Daniel
и в cmd приедет параметр 'одинарные'
Daniel
вот прям так, с одинарными кавычками
Anonymous
Ну вот я ща приеду и скину в чатик код
Точно так же и не работает :)
Daniel
а что в ошибке, которую вернул Run()?
Anonymous
Err nil
Output пустой
Dmitrii
почему часто пишут в примерах по умолчанию так a := &[]int{1,2,3,4} если не базовые типы и так ссылочные? действительно так часто приходится работать с указателями?
Anonymous
а что в ошибке, которую вернул Run()?
ну вот к примеру такой код не выполняется
exec.Command("find", "/sys", "-maxdepth", "2", "-type", "l", "-regex", "'.+/block/.+'", "-printf", "%f%l\n").Output()
понятно что если убрать одинарные кавычки то он заработает, вот так
exec.Command("find", "/sys", "-maxdepth", "2", "-type", "l", "-regex", ".+/block/.+", "-printf", "%f%l\n").Output()
вопрос как можно их эскейпить что бы они оставались ?
Vladimir
ну вот к примеру такой код не выполняется
exec.Command("find", "/sys", "-maxdepth", "2", "-type", "l", "-regex", "'.+/block/.+'", "-printf", "%f%l\n").Output()
понятно что если убрать одинарные кавычки то он заработает, вот так
exec.Command("find", "/sys", "-maxdepth", "2", "-type", "l", "-regex", ".+/block/.+", "-printf", "%f%l\n").Output()
вопрос как можно их эскейпить что бы они оставались ?
Вопрос на засыпку
Vladimir
Если ты сделаешь программу которая пишет все argv
Vladimir
Что будет если ей передать 'foo'?
Vladimir
Сначала из баша
Vladimir
Потом из го или любого другого языка
Anonymous
развернет кавычки
Anonymous
ну так я же спрашивал как заэскейпить )
Vladimir
Vladimir
Ты не баш дергаешь
Vladimir
Это забота тебя убрать кавычки до передачи
Anonymous
ну так а если "'arg'" ?
Vladimir
А "'arg'" будет эквивалентно если и в баше также передать
Vladimir
Дёргая фаинд напрямую у тебя нет интерпретатора никакого перед. Что передано как аргумент то софт и получит
Anonymous
значит так какая то бида именно с файндом и регекспом
Vladimir
Одинарные кавычки в баше нужны только ради того чтоб баш не лез в регулярку своими подстановками
Vladimir
Но у тебя нет баша
Vladimir
Естественно оно ничему не матчится
Vladimir
Никакой проблемы нет, все by design так
Vladimir
Притом в любом яп
Vladimir
Пиши код перед цмд, который будет выкивдвать кавычки обрамляющие
Anonymous
окей, допустим я теперь эти все аргменты хочу скормить башу который дерну из exec
там же нужно как то эскейпить?
Vladimir
Vladimir
Пишешь функцию которая будет теперь уже заменять кавычки на экранированные
Vladimir
Возможно под это что то готовое даже есть
Anonymous
ну я видел обертки для exec так что точно есть )
Vladimir
Vladimir
Когда ты дергаешь баш, ты ему как аргумент дашь скрипт, внутри которого пишешь все по правилам баша
Anonymous
так а что там с эскейп силволами будет если их на прямую пихать?
Vladimir
Vladimir
У меня к ночи с обьяснялкой и понималкой туговато...
Anonymous
нормально, все понятно
Anonymous
собственно проблема возникает когда очень хочется завернуть все аргументы в одну большую стрингу
а потом сплитать ее в слайс по пробелам и делать из слайса вариадик
вот там будет забавно когда где то нужно пробел эеранировать в стриге )
Yehor
Привет, гоферы. Есть, кто активно интересуется крипто-валютами?
Anonymous
Опять блокчейен
Yehor
нет
Anatoliy
Yehor
что интересует?
ищу кого-нибудь, кто знаком с ними и знаком с го, чтобы разработать биржу. попрактиковать написание кода на го и глубже копнуть в крипто-валюты
Anatoliy
если нет связей в органах - можешь даже не пробовать, по голове надают, знакомый недавно тоже пробовал
Yehor
Anatoliy
угу, ты не с рф?
Yehor
нет
Sergius Ofitserov
Не проще 2-3 годные статьи запилить + бесплатные ресурсы?
Slach
как говорится mitmproxy тебе в помощь дорогой человек
чтобы правильно отреверсить процесс установки
к 1500$ я думаю пару ноликов справа надо подставить,
ну то есть может тебе и повезет
сделаешь фабрику рутованых дивайсов в которых сможешь что нибудь "переписать" так чтобы каждый раз device был как будто новый
но вообще скорее всего там именно АКАУНТЫ считаются
а не параметры устройства, в инсталляциях которые в google play показываются
Bogdan
Аккаунт к уникальному устройству
Виртуалки в помощь
Но очень аккуратно, потому что гугл легко блочит любые накрутки
Максим
Доброе утро. Расскажете, как вы делаете sql миграции? В частности версионные
Alexander
liquibase. хз есть ли аналоги на go
Alexander
а так - огонь инструмент. в целом-то на джаве писать и не нужно. можно как тулзу использовать.
Valentin
Можно сделать хорошее и полезное приложение, тогда его начнут скачивать реальные пользователи
Chebyrash
Друзья, как лучше всего находить memory leaks?
🏁Александр
в гоу нету же ручного управления памяти, по крайне мере без бубна
🏁Александр
где у тебя могут быть memory leaks? O_o
Valentin
незакрытые sql.rows
Valentin
context может течь
Chebyrash
😅
🏁Александр
Chebyrash