/dev/random писал(а): ↑28.07.2011 17:05
Ваш вариант будет искать в текущем каталоге подкаталог с именем "$PWD" (дословно, но без кавычек).
Удивительно, но у меня оно работает точно также. Т.е., как будто автодополнение подставляет значения переменных.
Код: Выделить всё
sgf@shilvana:~/tmp$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
sgf@shilvana:~/tmp$ ls -l bin/test.sh
-rwx------ 1 sgf sgf 25 Jul 28 17:01 bin/test.sh
sgf@shilvana:~/tmp$ test
test testrb testrb1.8
Попробуем произвольную последовательность
Код: Выделить всё
sgf@shilvana:~/tmp$ PATH="$PATH:12345/bin"
sgf@shilvana:~/tmp$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:12345/bin
sgf@shilvana:~/tmp$ test
test testrb testrb1.8
sgf@shilvana:~/tmp$ PATH="${PATH%:12345/bin}"
не работает. Теперь PWD без '$'
Код: Выделить всё
sgf@shilvana:~/tmp$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
sgf@shilvana:~/tmp$ PATH="$PATH:PWD/bin"
sgf@shilvana:~/tmp$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:PWD/bin
sgf@shilvana:~/tmp$ test
test testrb testrb1.8
sgf@shilvana:~/tmp$ PATH="${PATH%:PWD/bin}"
тоже не работает. Теперь произвольную переменную
Код: Выделить всё
sgf@shilvana:~/tmp$ PATH="$PATH:\$ABC/bin"
sgf@shilvana:~/tmp$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:$ABC/bin
sgf@shilvana:~/tmp$ test
test testrb testrb1.8
sgf@shilvana:~/tmp$ PATH="${PATH%:\$ABC/bin}"
тоже не работает. И, наконец, PWD с '$'
Код: Выделить всё
sgf@shilvana:~/tmp$ PATH="$PATH:\$PWD/bin"
sgf@shilvana:~/tmp$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:$PWD/bin
sgf@shilvana:~/tmp$ test
test test.sh testrb testrb1.8
sgf@shilvana:~/tmp$ test.sh
bash: test.sh: command not found
и все выглядит так, как будто автодополнение "пропускает" значение PATH через eval. Что бы это могло значить..
