Является ли пересылка SSH X примером удаленной пересылки портов?

Иногда проще профилировать вещи:

Я создал образец входного файла:

aaaaa:bbbbb:ccccc
aaaaa:bbbbb:ccccc
aaaaa:bbbbb:ccccc
aaaaa:bbbbb:ccccc
field:bbbbb:ccccc
aaaaa:bbbbb:ccccc
aaaaa:bbbbb:ccccc
aaaaa:bbbbb:ccccc
aaaaa:bbbbb:ccccc

сценарий оболочки 'a.sh':

#!/bin/bash
for i in `seq 1 1000`; do
        cat test.dat | grep ^field | head -n1 | sed 's/:/ /' | awk '{print $1}' >/dev/null
done

сценарий оболочки 'b.sh':

#!/bin/bash
for i in `seq 1 1000`; do
        awk -F':' '/^field/ {print $1; exit}' test.dat >/dev/null
done

Профиль it:

time ./a.sh
real    0m10.253s
user    0m5.526s
sys 0m8.668s

time ./b.sh
real    0m3.274s
user    0m1.288s
sys 0m1.783s

(Это было сделано на моем старом любимом MacBook 2008 года, 2,4 ГГц Intel Core 2 Duo)

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

-4
07.02.2019, 03:30
1 ответ

Команда ssh-agentсама по себе запускает агент SSH и выводит назначения переменных, необходимые командам SSH для взаимодействия с этим агентом. Так как вам нужно выполнить присвоение переменных, чтобы фактически установить переменные, необходимые для evalвывода.

Это единственный известный пример правильного использования eval.

2
28.01.2020, 05:20

Теги

Похожие вопросы