Jaka jest różnica między wykonywaniem takiego skryptu:
./test.sh
i wykonanie takiego skryptu:
. test.sh?
Próbowałem prostego, dwuwierszowego skryptu, aby sprawdzić, czy mogę znaleźć różnicę:
#!/bin/bash
ls
Ale oba . test.shi ./test.shzwróciły te same informacje.
test.shnie jest to samo co ./test.sh(pierwsze wywołuje PATHwyszukiwanie), tak . test.shi są . ./test.shróżne w ten sam sposób (pierwsze wywołuje PATHwyszukiwanie). Wiele powłok wydaje się domyślnie zawierać .na końcu PATHpodczas .wyszukiwania ścieżki, ale takie zachowanie nie jest standardowe. Tak więc, jest bardziej dokładne, aby porównać test.shvs . test.shi ./test.shkontra . ./test.sh.