LINUX.ORG.RU
решено ФорумAdmin

MinGW: вызвать pwd из комстроки Windows?


0

1

Что-то не пойму, почему у меня вот так работает

C:\>d:\apps\MinGW\msys\1.0\bin\sh.exe
sh-3.1$ pwd
/c
sh-3.1$ exit
exit

А вот так — не работает:

C:\>d:\apps\MinGW\msys\1.0\bin\sh.exe pwd
/usr/bin/sh: /usr/bin/pwd: No such file or directory

Директории такой действительно нет, но почему она ищет pwd именно там? Откуда берётся /usr/bin?

Ответ на: комментарий от Dims2000

Потому что `pwd` является внутренней командой sh.exe, а Вы просили sh.exe взять файл pwd, прочитать его и выполнить.

AITap ★★★★★
()
Ответ на: комментарий от AITap

Понятно конечно. Просто удивительно, почему мне попался скрипт, который об этом не знает...

А почему она искала в /usr/bin и почему себя объявляла там находящейся?

Dims2000
() автор топика
Ответ на: комментарий от Dims2000

А вот этого не знаю. Видимо, она считала себя находящейся как бы в /usr/bin/ и стала искать рядом (почему не в текущей директории - загадка).

AITap ★★★★★
()
Ответ на: комментарий от AITap

Потому что `pwd` является внутренней командой sh.exe

max@laptop ~ $ which pwd
/bin/pwd

Видимо, она считала себя находящейся как бы в /usr/bin/ и стала искать рядом (почему не в текущей директории - загадка).

man env

Оно читает пути из переменной $PATH. Её можно поменять, есличо.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

Сдаюсь.
Если я уже такие ошибки стал делать, надо больше спать.

AITap ★★★★★
()
Ответ на: комментарий от gentoo_root

Прикол в том, что она запускалась если войти не и не запускалась, если не входить.

Dims2000
() автор топика
Ответ на: комментарий от gentoo_root

>which pwd

Да, а как тогда объяснить вот это:

$ pwd --help
bash: pwd: --: invalid option
pwd: usage: pwd [-LP]

$ /bin/pwd --help
Usage: /bin/pwd [OPTION]...
Print the full filename of the current working directory.

  -L, --logical   use PWD from environment, even if it contains symlinks
  -P, --physical  avoid all symlinks
      --help     display this help and exit
      --version  output version information and exit

NOTE: your shell may have its own version of pwd, which usually supersedes
the version described here.  Please refer to your shell's documentation
for details about the options it supports.

Report pwd bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report pwd translation bugs to <http://translationproject.org/team/>
For complete documentation, run: info coreutils 'pwd invocation'
man bash, мой друк.

uzbl
()
Ответ на: комментарий от AITap

В cygwin-е сессия запускается bat-ником, кот-й выставляет корректный $PATH, если запускать шелл напрямую, скрипт не срабатывает. В mingw, очевидно, сделано аналогично.

uzbl
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.