Как создать цикл for в командной строке?

Для меня самым большим недостатком использования gvim вместо vim является то, что вы не можете запустить его внутри съемного контейнера. Я запускаю vim внутри tmux , что позволяет мне отсоединить запущенный сеанс и повторно подключить его позже. Например, я могу отключить сеанс на работе, пойти домой, зайти на работу по ssh и повторно подключиться к уже запущенному сеансу. Я также много работаю на удаленных хостах VPS, что делает возможность повторного подключения более важной, поскольку я могу потерять свое ssh-соединение. Gvim привлекает новых пользователей vim, и это хороший способ начать работу, но как только вы станете опытным пользователем vim, меню и другие элементы графического интерфейса просто замедлят вас. Vim можно настроить на использование мыши в режиме терминала (даже через SSH), и если вы настроите свой терминал на использование 256 цветов и приятного шрифта Unicode, вы можете получить довольно необычный вид без дополнительных затрат на графический интерфейс.

22
12.07.2017, 16:55
2 ответа

Точка с запятой после doявляется ошибкой и не должна быть там.

Следующее работает правильно:

for i in `seq 1 10`; do echo $i; done 
30
27.01.2020, 19:42

Синтаксис цикла forсо страницы руководства bash:

for name [ [ in [ word... ] ] ; ] do list ; done

Точки с запятой могут быть заменены символами возврата каретки, как указано в другом месте на странице руководства bash:«Последовательность из одной или нескольких новых строк может отображаться в списке вместо точки с запятой для разделения команд».

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

for i in `seq 1 10`; do echo $i; done
58
27.01.2020, 19:42

Теги

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