9
ответов

Каковы некоторые полезные варианты -использования eval в Shell?

Вы часто слышите, что eval — это зло, будь то в мире Shell/POSIX или в других языках, таких как python и т. д. Но мне интересно, это действительно бесполезно? или это какое-то тайное, не -задокументированное,...
23.03.2021
9
ответов

Какова команда “оценки” в ударе?

Что можно сделать с командой оценки? Почему это полезно? Это - некоторая встроенная функция в ударе? Нет никакой страницы справочника для него..
23.04.2016
3
ответа

Получить содержимое передаваемой строки из сценария

Я хотел бы получить на выходе содержимое KW0_TEXT и KW1_TEXT из «for» этого сценария: #! / Bin / sh STRS = "KW0 KW1" KW0_TEXT = "текст текст текст" KW1_TEXT = "текст текст текст текст" for str ...
29.03.2018
3
ответа

Почему и когда следует избегать использования eval в сценариях оболочки? [duplicate]

Во многих ответах и ​​комментариях на этом сайте упоминается, что в общем случае следует избегать использования eval в сценариях оболочки. Часто эти комментарии адресованы новичкам. Я видел упоминания о проблемах безопасности и ...
13.04.2017
2
ответа

eval переменная=команда в фоновом режиме

У меня есть следующий код для имени в a b c d; сделать для i в {01..12}; do eval test _${name} _{i}= `какая-то команда `выполнена done Я пытаюсь выполнять задания в фоновом режиме, но это не...
28.07.2020
2
ответа

Как я могу записать команду `eval`, содержащую новую строку, в одну строку?

Поскольку мне нужно установить и использовать псевдоним в той же строке в bash, я хотел бы использовать обходной путь Hauke ​​Laging: eval 'alias df5=df df5 -h' (Для примера я взял df и df5. Я знаю, что ...
10.05.2020
2
ответа

Поведение «eval» при «set -e» в условном выражении

Рассмотрим команды eval false || эхо хорошо echo also ok Обычно мы ожидаем, что это выполнит утилиту false и, поскольку статус выхода не равен нулю, затем выполнит echo ok и echo also ok. ...
10.06.2019
2
ответа

Цикл по именам файлов без eval

В сценарии оболочки, если мы хотим перебрать определенные имена файлов, которые мы получим путем подстановки оболочки, например, все MKV-файлы во всех подкаталогах, начинающихся со строки «Пример " - как мы можем сделать ...
24.02.2019
2
ответа

Bash: Как убить eval, если процесс, который получает его выходные данные, завершается

У меня есть небольшой уродливый сценарий bash на моем компьютере с Ubuntu, который содержит строки: search_command = "find -L $ (printf"% q "" $ search_folder ") \ (! -regex '. * / \ .. * / .. *' \) -mindepth 1 2> / dev / null" для i ...
02.02.2019
2
ответа

Почему eval не работает с подстановкой команд? [closed]

У меня есть эта команда $ ("$ {DIR} /test.py" "$ 1"), вывод которой - export SOME_VAR = "hello world" export ANOTHER_VAR = "hello" Но eval $ ("$ {DIR} /test.py" "$ 1"), похоже, ничего не делает. Что я ...
18.11.2018
2
ответа

файлы cksum, использующие заменяемую строку переменных в качестве шаблона

Можно Я избегаю eval в приведенном ниже примере или нет другого пути? Список файлов по переменной является динамическим, и я хочу суммировать их все. В каталоге много других файлов, но они должны ...
16.04.2018
2
ответа

Реализуется ли eval путем создания процесса оболочки для оценки следующей команды?

Как eval в eval оценивает следующую команду? создает ли eval подпроцесс оболочки для оценки ? Если нет, полагается ли eval на текущий процесс оболочки, чтобы ...
19.07.2016
1
ответ

Как запустить eval с помощью команды lockf?

У меня есть команда, которую я запускаю через eval, как показано ниже. #! /бин/ш только для чтения scr="MYENV=1 ш /tmp/scr.sh" eval ${scr} -a 1 -b 2 Теперь я хочу запустить скрипт scr с помощью утилиты lockf, поэтому я сделал следующие изменения :#! /бин/
31.08.2021
1
ответ

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

Пытаясь сделать файл.zshrc более аккуратным, я наткнулся на следующую проблему/вопрос :«Как я могу запустить вывод другой команды?». Хотя я уверен, что это простая проблема, я просто не...
24.06.2021
1
ответ

Влияние на безопасность выполнения строк с помощью eval в bash

Рассмотрим следующее :$ а = 'друг' $ b='printf "%s\n" "$a"' $ оценить "$b" друг Это должно быть полностью безопасно. Предположим, однако, что $b — это то же самое, но $a неизвестно....
15.04.2021
1
ответ

Почему замена eval на declare (для создания динамических переменных )приводит к пустой переменной?

При использовании bash >5 я пытаюсь присвоить переменным разные значения в зависимости от архитектуры, указанной в переменной. Я использую функцию для этого. Это прекрасно работает :#аргументы :переменная...
04.03.2021
1
ответ

Скрипт, использующий данные/ввод, содержащие имена переменных

Итак, у меня есть файл "Directories.dat", который содержит список каталогов для чтения сценария, работающего на нескольких машинах. За счет этого часто определяется список директорий в файле...
19.11.2020
1
ответ

Как условно перенаправить вывод в файлы на основе переменной в bash

Я пытаюсь использовать команду eval для оценки комментария --Я не уверен, что это правильный способ сделать это. Пример :я=?? (Я хочу здесь либо #, чтобы прокомментировать то, что после, либо пустое )какая-то команда arg1...
19.07.2020
1
ответ

Как экспортировать строки из другого файла в текущую оболочку

У меня есть это содержимое в файле с именем foo.env: foo=bar, а затем я хочу прочитать этот файл и экспортировать строки в оболочку: for line in $(кот ./foo.env); выполнить eval export $line сделано, но когда я запускаю ...
12.05.2020
1
ответ

Генерация содержимого, хранящегося в динамической переменной в сценарии оболочки

Я застрял с приведенным ниже кодом, и буду очень признателен за любую помощь: Я пытаюсь присвоить содержимое внутри динамически сгенерированной переменной другой переменной. Но вместо значения ...
14.03.2020
1
ответ

создание псевдонима из функции

Мне нужно много разных псевдонимов для создания туннелей ssh ​​к разным серверам. Приведу некоторые из них: aliastunnel_1='autossh -M 20000 -N -L 8080:localhost:8080 -N -L 9200:localhost:9200 -N -L ...
10.09.2019
1
ответ

Странное поведение команды su

Каждый раз, когда я запускаю команду su на этом компьютере, я постоянно вижу странные сообщения ниже. Переключение пользователя в конечном итоге продолжается, но почему отображаются эти сообщения? <Сервер>:~ # su - -bash: eval: line ...
20.05.2019
1
ответ

Почему эта идиома bash требует eval?

Почему это дает _results = "" ... _results = "$ (grep $ {_ gopts [@]})" И это дает желаемые _results (список SSHFS записи в fstab) ... _results = "$ (eval grep $ {_ gopts [@]})" _gopts ...
06.05.2019
1
ответ

Попытка экспортировать путь из скрипта bash [дубликат]

Я пытаюсь поместить всю свою среду в один файл bash. Я затрагиваю только одну проблему. Когда я пытаюсь экспортировать новый путь из файла, он не устанавливает путь в среде...
04.03.2019
1
ответ

знак доллара внутри строки eval в bash

У меня сотни подкаталогов, которые содержат знак доллара (т.е. $) в качестве 1-го символа в их именах, каждый из которых необходимо посетить. Эти подкаталоги нельзя переименовать. Бэш ...
12.12.2018
1
ответ

eval vs bash through tube

ашиглахын ялгаа юу вэ? : eval 'echo "foo"' ба echo 'echo "foo"' | bash байна уу?
07.05.2018
1
ответ

diff двух файлов из командного вывода [закрыто]

У меня есть куча xml файлов в текущем каталоге. Проблема 1. Насколько я читал, eval возвращает результаты и сохраняет их в переменной. Но я получаю ошибку при выполнении следующей команды find ./ -name '...
25.01.2018
1
ответ

Может ли bash преобразовать строковую переменную в кавычки и / или экранированную строку в слова?

I иметь переменную оболочки bash, содержащую строку, состоящую из нескольких слов, разделенных пробелами. Строка может содержать экранированные символы, например экранированные пробелы в слове. Слова, содержащие пробелы ...
23.05.2017
1
ответ

Что делать с небезопасной оценкой внешнего ввода в сценарии eval?

Binaryzebra сказал, что этот сценарий оценивает внешний ввод, а это крайне небезопасная практика. Какими способами можно справиться или даже заменить eval, оценивающий внешние входные данные в скрипте? Спасибо.
13.04.2017
1
ответ

Какова цель eval? [дубликат]

Какова цель запуска команды с eval? Какие команды может запускать eval? Я считаю, что он может запускать встроенную команду, внешнюю исполняемую команду, конвейер, скрипт. Может ли он запускать все виды ...
13.04.2017

Еще нет никакого руководства использования этим тегом …!

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

Еще нет никакого тега Wiki для этого тега …!

Справка wikis тега представляет вновь прибывших тегу. Они содержат обзор темы, определенной тегом, наряду с инструкциями по его использованию.

Все зарегистрированные пользователи могут предложить новый тег wikis.

(Обратите внимание, что, если у Вас есть меньше чем 20 000 репутаций, Ваш тег, Wiki будет одноранговым узлом, рассмотренным, прежде чем это будет опубликовано.)