Есть такая иерархия:
ls -lR /tmp/dir1
/tmp/dir1:
drwxr-xr-x x1
drwxr-xr-x x2
/tmp/dir1/x1:
drwxr-xr-x bin
drwxr-xr-x data
/tmp/dir1/x1/bin:
-rwxr-xr-x run.sh
/tmp/dir1/x1/data:
/tmp/dir1/x2:
lrwxrwxrwx bin -> ../x1/bin
drwxr-xr-x data
/tmp/dir1/x2/data:
Скрипт run.sh:
#!/bin/sh
pwd
touch ../data/xxx
Запуск 1:
cd /tmp/dir1/x1/bin/
./run.sh
Вывод:
/tmp/dir1/x1/bin
Файл xxx создался в каталоге /tmp/dir1/x1/data
Запуск 2:
cd /tmp/dir1/x2/bin
./run.sh
Вывод:
/tmp/dir1/x2/bin
Но файл опять создаётся в каталоге /tmp/dir1/x1/data!!!
Почему так происходит? Явно что-то не так делаю с символьными ссылками и относительными путями. Но что не так - не пойму.