Saya baru-baru belajar, itu
. ./.a.a
dan ./.a.a
sama.
Namun berusaha source source .a.a
memberikan kesalahan. IMO, .
menjadi Bash alias untuk source
tidak boleh berperilaku berbeda, jadi apa yang saya lewatkan?
Bonus, mengapa tidak . .
apa - apa sementara source source
tidak?
. script
dan./script
merupakan hal yang sama? Mereka tentu saja tidak . Juga,.
bukan alias untuksource
. Itu sebaliknya..
adalah standar dansource
merupakan alias.
..
perintah itu, tapi maksud sayasource
adalah perintah yang lebih baik, ketika Anda melihatsource somefile
dalam skrip Anda langsung tahu apa pernyataan itu, tetapi. somefile
tidak hanya tidak jelas apa fungsinya, Anda dapat dengan mudah kehilangan.
karakter sama sekalibash: .: .: is a directory
aktif. .
ok perlu dijelaskan.. ./.a.a .
jujur. : -DA kuis macam, jika Anda mau. :-) Pertanyaan yang ditautkan luar biasa, terima kasih banyak. Apa yang memberi saya ide itu: fakta bahwa saya telah melihat tidak ada perbedaan dalam mengeksekusi file dengan cara ini dan fakta yang saya baca di suatu tempat.
adalah alias untuksource
. :-)Jawaban:
Anda tidak bisa hanya mengganti
.
dengan disource
mana - mana; jikaberfungsi, Anda dapat mengganti yang pertama
.
(setidaknya dalam Bash):Yang kedua
.
mewakili direktori saat ini, Anda tidak dapat menggantinya dengansource
(terutama tidak./
dengansource
yang telah Anda lakukan).akan baik-baik saja jika Anda memiliki file yang dipanggil
source
di direktori saat ini, berisi sesuatu yang bermakna untuk shell Anda saat ini. Saya tidak bisa melihat bagaimana. .
akan baik-baik saja ...Juga,
. ./.a.a
dan./.a.a
tidak sama, formulir kedua berjalan.a.a
di shell yang terpisah. Lihat Apa perbedaan antara sumber ('.' Atau 'sumber') dan mengeksekusi file dalam bash? untuk detail.sumber
source
adalah kata kunci shell yang seharusnya digunakan seperti ini: disource
file
manafile
berisi perintah shell yang valid. Perintah shell ini akan dieksekusi di shell saat ini seolah diketik dari baris perintah. Sekarang,.
file
lakukan persis sama.Di luar itu
.
saja berarti "direktori kerja saat ini" seperti dalam./xyz
("xyz
dalam direktori ini") ataua/b/./c/./d
(yang identik dengana/b/c/d
).Di luar itu
.
dalam nama file hanya memiliki makna oleh konvensi seperti.foobar
yang menunjukkan file "tersembunyi" (tidak benar-benar ...) atau seperti dalamfoobar.pdf
, yang menunjukkan format file dengan akhiran (di sini.pdf
).Makna yang berbeda ini tidak dapat dipertukarkan.
sumber
.
sama sekali tidak ketinggalan jaman. Tidak sepertisource
cara portabel, POSIX yang didefinisikan untuk sumber file. Thesource
alias shell-spesifik dan dapat berupa absen (misalnya dalamdash
) atau berperilaku berbeda dari standar.
.