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

ну никак не пойму куда рыть. почему в init не видно USR и PSW

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
#!/bin/bash
USR=
PSW=
read_psw()
{
cat passwords.tab | while read LINE; do
   USR=`echo "${LINE}" | awk '-F\t' '{print $2}'`
   echo "\$USR in read_psw: $USR"
   PSW=`echo "${LINE}" | awk '-F\t' '{print $3}'`
   echo "\$PSW in read_psw: $PSW"
done
}

init()
{
read_psw
echo "\$USR in init: $USR"
echo "\$PSW in init: $PSW"
}

init

exit  0 

получаем:

Код: plaintext
1.
2.
3.
4.
5.
oracle@eras:~/bin$ ./test.sh
$USR in read_psw: USER01
$PSW in read_psw: PASSWORD01
$USR in init: 
$PSW in init:

спс
...
Рейтинг: 0 / 0
global variables
    #36949076
Eras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eras,

а вот так работает :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
#!/bin/bash
USR=
PSW=
read_psw()
{
#cat passwords.tab | while read LINE; do
for LINE in "`cat passwords.tab`"; do
   USR=`echo "${LINE}" | awk '-F\t' '{print $2}'`
   echo "\$USR in read_psw: $USR"
   PSW=`echo "${LINE}" | awk '-F\t' '{print $3}'`
   echo "\$PSW in read_psw: $PSW"
done
}

init()
{
read_psw
echo "\$USR in init: $USR"
echo "\$PSW in init: $PSW"
}

init

exit  0 
...
Рейтинг: 0 / 0
global variables
    #36949267
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eras,

| запускает отдельный shell (subshell), то что вы в нем меняете остается только в нем и наследниках
...
Рейтинг: 0 / 0
global variables
    #36949309
Eras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Панфилов ,

спосибо, буду знать - иду книжку читать
...
Рейтинг: 0 / 0
global variables
    #36955298
Eras,

for LINE in "`cat passwords.tab`"

делает не то, что вы думаете
...
Рейтинг: 0 / 0
global variables
    #36956282
Eras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К-рниган и Р-тчи,

телепат ? ну и что же "мы думаем" ?
...
Рейтинг: 0 / 0
global variables
    #36956732
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eras, данное выражение вернёт Вам весь файл одной строкой, без разделения на строки и этот цикл будет выполнен один раз.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / global variables
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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