Помогите с файлом Cygwin Bash - PullRequest
3 голосов
/ 12 мая 2010

У меня есть файл bash, который я пытаюсь запустить в Cygwin на платформе Windows 7, но при этом выдает мне странные ошибки. Файл bash работает в моей системе Linux. Файл bach выглядит так:

for ((r=0; r <10; r++))

    netcat localhost 4444 < myfile.file &

done

wait

но я получаю сообщение об ошибке для цикла for. Точнее пишет:

./tuning_test.bsh: line 1: syntax error near unexpected token `('

'/tuning_test.bsh: line 1: `?for ((r=0; r <10; r++))

Я не понимаю этого, потому что был уверен, что у меня есть работающий bash-файл в моем Linux. Я даже пытался найти пример цикла for на сайте Linux-bash и запустить его, но с той же ошибкой.

Я новичок в Cygwin и не знаю, есть ли у него какие-то мелочи или что-то еще, о чем я должен знать, и я попытался просмотреть документацию и FAQ на их домашней странице.

Искренняя

Mestika

Ответы [ 5 ]

5 голосов
/ 12 мая 2010

Кажется, вам не хватает строки do и шебанга:

#!/bin/bash
for (( r=0; r<10; r++ ))
do
    netcat localhost 4444 < myfile.file &
done
wait
2 голосов
/ 12 мая 2010

да, я узнал, что мой texteditor (notepad ++) был переведен в формат DOS / Windows, я просто изменил его на UNIX, и он работал: -)

1 голос
/ 12 мая 2010

Возможно, версия bash для Cygwin намного старше Linux? Это работает для меня с MSYS Bash:

for ((r=0; r <10; r++))
do
    echo $r
done

Обратите внимание, что я добавил ключевое слово do в цикл. Вы также можете попробовать написать цикл как:

for r in 0 1 2 3 4 5 6 7 8 9
do
    echo $r
done
1 голос
/ 12 мая 2010

Вы должны правильно пометить блок цикла с помощью do .. done
'до' пропустил

0 голосов
/ 01 апреля 2019

Следующий скрипт выполнит ssh на портах 0-65000 и выведет все журналы для каждого выполнения в файл с именем log.txt

Заменить "хост" на ssh -tt -p $r host с адресом хоста, в который вы хотите "ssh" войти.

Команда -tt принудительно назначает tty и останавливает выделение псевдотерминала. (Заставляет снаряд)

#!/bin/bash
for (( r=0; r<65000; r++ ))
do
    ssh -tt -p $r host -E log.txt < log.txt
done
wait
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...