LINUX.ORG.RU

Задачка для ломания мозгов.

 , ,


0

3

Ребят, хелп! В тестовом на системного инженера попалась вот такая задача. Гист https://gist.github.com/missdarki/13bc68988f52a55c817ccfcaa1146b6e/revisions Отношения с линукс баш на стадии «неловкого краснения при взгляде на него», поэтому как подступиться к этому набору символов я не знаю. А уж тем более куда-то вставить слово, чтобы оно еще и заработало. Если поможете идеями/решением, буду очень благодарна!



Последнее исправление: miss_didi (всего исправлений: 1)
Ответ на: комментарий от onhydro

Раз такие задания дают, значит отбирают именно таких людей, которые готовы плавать в говнокоде и получать удовольствие от этого.

Sorcerer ★★★★★
()
Ответ на: комментарий от Sorcerer

О чём и речь :) Хотя, лично я такую задачку в уме не решу, т.е. не подхожу им, хотя, лично меня это скорее радует.

onhydro
()

в начале подчерки это функция, дай ей нормально название и замени везде где вызывается. Что дальше хз, но начать чтоит с этого.

ya-betmen ★★★★★
()

а как скопировать текст по ссылке ?

dada ★★★★★
()

Для начала хотя бы возьми этот код и набери его текстом, а затем вставь в редактор умеющий подсветку синтаксиса и скобок показывать. Уже будет проще. А тут ты хочешь, чтобы мы за тебя эту хрень на клавиатуре набирали ещё?

Xenius ★★★★★
()

на системного инженера

И ты постишь это на ЛОР, где одни школьники, тролли и просто неудачники? xD

Вообще, задачка забавная, но решать её я не стану.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Вообще, задачка забавная, но решать её я не стану.

Она не забавная, а типичная грязная обфускация говнокода. Для начала можете убрать 2> /dev/null. А потом просто с первого взгляда видим, что делаем вызов sed с даже не с сильно спрятанным паттерном. Хорошо хоть не rm -rf.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 2)
Ответ на: комментарий от vodz

типичная грязная обфускация говнокода

Вот потому и решать не стану и забавно, что такое задают решать.

r3lgar ★★★★★
()

Учиться башу это все равно что учиться синей изоленте, ей-богу.
Понадобилось примотать - взял да и примотал. Какие еще там «тестовые задачи», да еще и с ручной деобфускацией, да еще на «системного инженера» (и при чем тут баш вообще, спрашивается).

Типа пришел ты обслуживать звездолет, а тебе говорят «а вот синей изолентой умеешь пользоваться, а?? На-ка, размотай, не смотри что она в говне, мы это нарочно». Ясненько, понятненько, спасибочки.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)

Задачка для ломания мозгов глаз

Спасибо, нафиг.

anonymous
()

Отношения с линукс баш на стадии «неловкого краснения при взгляде на него»

Значит тебе не следует проходить тесты на системного инженера.

aedeph_ ★★
()

Слушай, а количество подчеркиваний там разное что ли? Как их на глаз отличить? Видимо, проверяется именно этот навык.

hotpil ★★★★
()
Ответ на: комментарий от anonymous

Причём эхо должно быть до того как тебя поимели.

anonymous
()

Чувак, если ты скриншотишь скрипты чтобы запостить на лор, то тебе не то что тесты на инженера не стоит сдавать, а вообще лучше вернуться на пальму.

legolegs ★★★★★
()
Последнее исправление: legolegs (всего исправлений: 1)
Ответ на: комментарий от legolegs

Ахах, резонно) но я как бы девушка, поэтому не совсем этично :)) Тестовое решаю не только я, а еще человек 100-200. Очевидно, что эту задачу будут гуглить. Пока нигде нет ни ответов, ни решений. Если я закину сюда код копипастом и, омагад, кто-нибудь да решит, то все вот это высветиться в поисковой выдаче. А мне оно зачем? К-конкуренция.

miss_didi
() автор топика
Ответ на: комментарий от miss_didi

как бы девушка

не совсем этично

К-конкуренция

Вся суть персонажа.

anonymous
()

Если ты не можешь это решить, то может ты действительно им не подходишь ? Ну помогут тебе это решить, а там окажутся задачи куда сложнее мозговыноснее. Нервов не хватит, оно тебе надо ?

Dred ★★★★★
()

Если я закину сюда код копипастом и, омагад, кто-нибудь да решит, то все вот это высветиться в поисковой выдаче. А мне оно зачем? К-конкуренция.

Ты будешь иметь право на это решение точно также, как и те, кто гуглит.

А вообще правильно написал выше.

Хотя б гист сделала приватный.

Системный инженер...

PunkoIvan ★★★★
()

Ты хотя бы перенаправление ошибок убери 2>/dev/null. Посмотри чего выводит.

lebfr
()
Ответ на: комментарий от PunkoIvan

в том то и дело, что нет. Но хочу им стать, очень)) Простите, совсем забыла про гист. Кинула в описание)

miss_didi
() автор топика

Соискатель должности видел некоторое говно...

hobbit ★★★★★
()
Ответ на: комментарий от slaykovsky

Я тоже решил. Вот блин умею ребятки мозг людям сломать. ))

lebfr
()
Ответ на: комментарий от miss_didi

Как-бэ уже решил за тебя: что добавить и где.

Осталось только разгадать загадку, написанную открытым текстом(почти).

anonymous
()

Для решения таких задачек полезен отладочный режим в bash. Ну и, как уже советовали, «2>/dev/null» убрать:

#!/bin/bash
set -x
__() { awk "BEGIN{printf \"%c\", $1}"; };
eval $(echo '112 119 110 51 100 33'| \
        ( ___=0;____=${_:-s};__=$____;____=${____}e;__=${__}/;
                ____=${____}d;___=$(($___+1));
                __="${__}\\([0-9]\\+\\)\\s\\?/\$(__ \\${___})/g";$____$IFS"$__"));

Выполняем и получаем :)

$ ./test
++ ___=0
++ ____=s
++ __=s
++ ____=se
++ __=s/
++ echo '112 119 110 51 100 33'
++ ____=sed
++ ___=1
++ __='s/\([0-9]\+\)\s\?/$(__ \1)/g'
++ sed 's/\([0-9]\+\)\s\?/$(__ \1)/g'
+ eval '$(__' '112)$(__' '119)$(__' '110)$(__' '51)$(__' '100)$(__' '33)'
+++ __ 112
+++ awk 'BEGIN{printf "%c", 112}'
+++ __ 119
+++ awk 'BEGIN{printf "%c", 119}'
+++ __ 110
+++ awk 'BEGIN{printf "%c", 110}'
+++ __ 51
+++ awk 'BEGIN{printf "%c", 51}'
+++ __ 100
+++ awk 'BEGIN{printf "%c", 100}'
+++ __ 33
+++ awk 'BEGIN{printf "%c", 33}'
++ 'pwn3d!'
./test: line 7: pwn3d!: command not found

Ну а дальше должно быть понятно, что куда добавить :)

vinvlad ★★
()
Ответ на: комментарий от anonymous

Да нет, берите. Потом, на фоне таких пропащих нормальные ребята без работы не останутся.

(Я абсолютно точно представляю, что в голове у тех, кто вываливают задачку на форум «решите за меня» даже без минимального анализа. И это ок. А вот с точки зрения работодателя, я бы напрягся: не в их пользу ситуация)

Deleted
()
Ответ на: комментарий от anonymous

Спасибо, вы нам не подходите.

если вы это на мой пост, то читать надо внимательнее )

vinvlad ★★
()
Ответ на: комментарий от Deleted

Я абсолютно точно представляю, что в голове у тех, кто вываливают задачку на форум «решите за меня» даже без минимального анализа.

вроде абсолютно понятно, что это кто-то пошутил )

vinvlad ★★
()
Ответ на: комментарий от Deleted

Остался только вопрос, кого они ищут, что такие задачи дают?

timdorohin ★★★★
()
Ответ на: комментарий от pasha_sin

...
Так-так, интрига! Интересно, девушка то хоть разобралась?

Ну, если для miss_didi и других конкурентов (в какой-нибудь Яндекс) приведённого листинга будет недостаточно, то пока в плане работы надо искать что-то, не связанное с Linux-ом ))

vinvlad ★★
()
Ответ на: комментарий от vinvlad

Возможно, но нет! Одна нерешенная задача со звездочкой - не показатель отсутствия ума или навыков)) Только что появились варианты, но все ушли в топку. Можете подвести ближе к решению?

miss_didi
() автор топика
Ответ на: комментарий от miss_didi

Одна нерешенная задача со звездочкой - не показатель отсутствия ума или навыков))

Интересно, для чего же в вашем понимании нужны «задачи со звездочками»

P.S. Зачетная задачка. Но не для набора персонала, конечно))

Deleted
()
Ответ на: комментарий от miss_didi

А в чём сложность-то? Вы хотите прочитать сюжет, не читая книги? У вас в руках bash — вперёд, ковбой.

anonymous
()
Ответ на: комментарий от comma

Нужное слово echo. )

Это то само собой, как в «Что? Где? Когда?» надо отвечать Пушкин, когда не знаешь ответа, то так в примерах по shell надо отвечать «echo» :) Главное чтобы не заставили вспоминать ascii и вписывать тоже кодами без компа.

vodz ★★★★★
()
Ответ на: комментарий от vodz

35 33 47 98 105 110 47 98 97 115 104 10 35 32 84 111 32 115 111 108 118 101 32 116 104 105 115 32 116 97 115 107 32 121 111 117 32 109 117 115 116 32 112 117 116 32 79 78 69 32 119 111 114 100 32 115 111 109 101 119 104 101 114 101 32 116 111 32 103 101 116 32 116 104 105 115 32 115 99 114 105 112 116 32 119 111 114 107 105 110 103 33 10 95 95 40 41 32 123 32 97 119 107 32 34 66 69 71 73 78 123 112 114 105 110 116 102 32 92 34 37 99 92 34 44 32 36 49 125 34 59 32 125 59 10 101 118 97 108 32 101 99 104 111 32 36 40 101 99 104 111 32 39 49 49 50 32 49 49 57 32 49 49 48 32 53 49 32 49 48 48 32 51 51 39 124 32 92 10 32 32 32 32 32 32 32 32 40 32 95 95 95 61 48 59 95 95 95 95 61 36 123 95 58 45 115 125 59 95 95 61 36 95 95 95 95 59 95 95 95 95 61 36 123 95 95 95 95 125 101 59 95 95 61 36 123 95 95 125 47 59 10 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 95 95 95 95 61 36 123 95 95 95 95 125 100 59 95 95 95 61 36 40 40 36 95 95 95 43 49 41 41 59 10 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 95 95 61 34 36 123 95 95 125 92 92 40 91 48 45 57 93 92 92 43 92 92 41 92 92 115 92 92 63 47 92 36 40 95 95 32 92 92 36 123 95 95 95 125 41 47 103 34 59 36 95 95 95 95 36 73 70 83 34 36 95 95 34 41 41 32 50 62 47 100 101 118 47 110 117 108 108 59 32

comma
()
Ответ на: комментарий от miss_didi

... Только что появились варианты, но все ушли в топку. Можете подвести ближе к решению?

Почитайте про башевскую команду eval и еще раз внимательно пересмотрите конечную часть листинга )))

vinvlad ★★
()
Ответ на: комментарий от vinvlad

У меня многие знакомые и практически одношкольники на риталине с модафинилом сидят (в яндексе иначе не выжить, например).

anonymous
()

To solve this task you must put ONE word somewhere to get this script working!

Все же просто. Мы наговнокодили тут немного. А вы разберитесь. Жизненная ситуация.
Тут тебе сложно будет, т.к. такая работа подразумевает солидный бэкграунд: отладка, декомпозиция, знание патернов (нет надо путать с умением делать паттерны (говонокодить)).
Можно сравнить с подготовкой психиатра. Если есть знания и умения, то будет прогресс, если нет, то будет, как минимум, интересно.

TomBOY ★★
()
Последнее исправление: TomBOY (всего исправлений: 1)
Ответ на: комментарий от anonymous

У меня многие знакомые и практически одношкольники на риталине с модафинилом сидят (в яндексе иначе не выжить, например)

Мне обычного чая хватает :) Не в пакетиках, конечно - хороший, среднелистовой... Когда за компом сижу, всегда на столе кружечка стоит )

А вообще, реально мощная штука - это настойка Золотого Корня (был запас в свое время с Камчатки). Мозг разгоняет по страшной силе - половины чайной ложечки на день за глаза хватает. Ну и как чисто физический стимулятор тоже действует нехило - по горкам с рюкзаком как на легке... Предложи своим корешам попробовать - а то, химию жрут всякую )

vinvlad ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.