powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / переменные в скриптах
5 сообщений из 5, страница 1 из 1
переменные в скриптах
    #32959283
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему то неполчается разрулить следующее

вот sh скрипт
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
#!/bin/sh
chfl= 0 
echo chfl=$chfl
echo hello | while read s; do
chfl= 1 

echo $s $chfl;
done
echo chfl=$chfl

дает такой рез-т

chfl=0
hello 1
chfl=0


chfl - это типа change flag, так вот , как бы так сделать чтоб в цикле шло изменение глобальной переменной chfl, а то оно походу вторую локальную создает ?
...
Рейтинг: 0 / 0
переменные в скриптах
    #32959365
miniСЛОН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скрипт
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
#!/bin/sh
chfl= 0 
echo chfl=$chfl
chfl=`echo hello | while read s; do
 echo  1 
done`
echo chfl=$chfl
вывод
Код: plaintext
1.
chfl= 0 
chfl= 1 
...
Рейтинг: 0 / 0
переменные в скриптах
    #32959404
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miniСЛОНскрипт
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
#!/bin/sh
chfl= 0 
echo chfl=$chfl
chfl=`echo hello | while read s; do
 echo  1 
done`
echo chfl=$chfl
вывод
Код: plaintext
1.
chfl= 0 
chfl= 1 


...помоему это несколько не то, потому как ежели в циклк будет читаться число строк отличное от 1, то воторое значение будет никак не 1...
...
Рейтинг: 0 / 0
переменные в скриптах
    #32959419
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не, так не очень хотелось бы
на самом деле вместо echo hello | while ... там другая конструкция и внутри цикла while много чего делается, что хотлось бы видеть на экране
вот кусок
...
cat iptables.tmp | egrep -v -f mysql.tmp | while read chain_ip; do
chfl=1
...
done

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

может тогда так
cat iptables.tmp | egrep -v -f mysql.tmp | tee file.tmp | while read chain_ip; do
...
done
и тогда дальше
[ -s file.tmp ] && {
...

но это файл целый созавать ... хотя может и никак больше :)
...
Рейтинг: 0 / 0
переменные в скриптах
    #32959653
miniСЛОН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanek842
Код: plaintext
1.
2.
3.
cat iptables.tmp | egrep -v -f mysql.tmp | while read chain_ip; do
chfl= 1 
...
done

я правильно понял что фактически это проверка на то что
Код: plaintext
cat iptables.tmp | egrep -v -f mysql.tmp
выдает хотя бы одну строку?
если так то можно поюзать флаг -c для grep
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / переменные в скриптах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]