значение переменной

Автор Тхакур, 08 июня 2020, 13:33:37

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Тхакур

Всем удачи!....
скажите, пожалуйста:
th@deb:~$ mydir=/
th@deb:~$ cat ./myscript
#!/bin/bash
if [ -d $mydir ]
then
echo "The $mydir directory exists"
cd $mydir
ls $mydir
else
echo "The $mydir directory does not exist"
fi
th@deb:~$

th@deb:~$ ./myscript
The  directory exists
Mail  mh  myfile  myscript  myscript~  post  post~  Загрузки
th@deb:~$

но в то же время
th@deb:~$ ls $mydir
bin   dev  home        initrd.img.old  lib32  libx32      media  opt   root  sbin  sys  usr  vmlinuz
boot  etc  initrd.img  lib             lib64  lost+found  mnt    proc  run   srv   tmp  var  vmlinuz.old
th@deb:~$

то есть переменная только внутри скрипта работает?

dogsleg

Судя по всему, тут она работает только в оболочке, а не в скрипте. Переменную нужно экспортировать, тогда она будет доступна для запущенных после команд. Это можно сделать так:

export mydir

Либо так:

export mydir=/

Тхакур

да
спасибо
th@deb:~$ export mydir
th@deb:~$ ./myscript
The / directory exists
bin   dev  home        initrd.img.old  lib32  libx32      media  opt   root  sbin  sys  usr  vmlinuz
boot  etc  initrd.img  lib             lib64  lost+found  mnt    proc  run   srv   tmp  var  vmlinuz.old
th@deb:~$

почему-то в руководстве про это не говрят  ???

endru


Тхакур

Цитироватьруководстве чего?
предположительно это руководство по написанию скриптов...на одном волшебном сайте.
но понял, что лучше обращаться к классике тыц

ChubaDuba

Цитата: Тхакур от 08 июня 2020, 22:58:07но понял, что лучше обращаться к классике тыц
Эта вещь есть на русском