rozumiem .bash_profile jest ukrytym plikiem, stąd okres przed.
Rozumiem, aby wykonać skrypt w bieżącym katalogu. Musisz określić ./, Ale nie jestem pewien, dlaczego jesteśmy już w bieżącym katalogu i skrypt znajduje się w bieżącym katalogu.
q1) Dlaczego musimy nadal ./ ? Czy możemy po prostu umieścić nazwę skryptu?
q2) Jaka jest różnica pomiędzy . bash_profile i . ./.bash_profile?
Jest . odnoszące się do bieżącego katalogu lub . = pozyskiwanie?
==================================
Pytania dodatkowe
Poniżej znajduje się moja ŚCIEŻKA
[oracle@SJOAM scripts]$ echo $PATH
.:/usr/local/java/bin:/usr/local/java/db/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oracle/bin:/u01/app/oracle/product/11.2.0/dbhome_1/bin:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:/u01/app/oracle/dba_scripts/bin
Jak widać, nie kończy się to na: a potem nie ma miejsca. Jestem teraz w katalogu
[oracle@SJOAM bin]$ cd ~/scripts
[oracle@SJOAM scripts]$ pwd
/home/oracle/scripts
[oracle@SJOAM scripts]$ ls
rmanbkp.sh test.sh
Ale nadal jestem w stanie wykonać test.sh bez określenia ./test.sh / home / oracle / scripts nie znajduje się w moim $ PATH
=============================
P1) Dlaczego nadal mogę wykonać skrypt bez określenia ./?
P2) Jeśli mój $ PATH ma katalog, który nie istnieje, czy wyszukiwanie jest kontynuowane przez resztę PATH?
P3) Czy nieprawidłowy katalog w katalogu $ PATH = bieżący katalog?
., jest pierwszą rzeczą w tym. To może wyjaśnić niektóre twoje zamieszanie.