Saya (entah bagaimana) dapat menjalankan skrip:
$ assemble.sh file
... [output]
Tetapi which
tidak dapat menemukannya:
$ which assemble.sh
which: no assemble.sh in (/s/std/bin:/usr/afsws/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/ucb:/bin:/usr/bin:/usr/stat/bin:/usr/X11R6/bin:.
- Bagaimana ini mungkin?
- Bagaimana saya dapat menemukan di mana file ini?
Saya menggunakan bash.
assemble.sh
di direktori Anda saat ini?alias
?Jawaban:
Gunakan perintah ini:
type assemble.sh
Ini bekerja di berbagai kerang dan hanya menunjukkan hasil pertama.
sumber
type assemble.sh
, yang portabel (dan hanya menampilkan pertandingan pertama sedangkantype -a
ksh / bash membangun untuk menampilkan semua pertandingan).Atau pisahkan lintasan, dan gunakan di find - kecocokan pertama harus menjadi solusinya
type
tentu saja lebih mudah.sumber
find
Anda mungkin menggunakan bash, tetapi sintaks dari
which
output menunjukkan bahwa Anda menggunakan bash yangwhich
ditulis dalam csh. PATH muncul dikutip oleh tanda kurung, dan direktori di PATH memiliki entri suka/opt/SUNWspro/bin
dan/usr/ccs/bin
yang hanya masuk akal di Solaris. Itu konsisten: Solaris menggunakan cshwhich
.Inilah tebakan saya: Anda punya satu PATH untuk bash, dan satu lagi untuk csh. Ini mungkin masalah sistem. Seingat saya, Solaris menyimpan / etc / profile dan / etc / cshrc file untuk pengaturan PATH seluruh sistem. Dua file inisialisasi tersebut dapat mengatur variabel PATH yang berbeda untuk shell yang berbeda. Lakukan "echo $ PATH" di bawah bash, dan lihat apakah itu setuju dengan apa yang
which
dicetak perintah sebagai string PATH.sumber
Info
sumber
ASSEMBLE=$(PATH=/usr/bin:/usr/local/opt/coreutils/libexec/gnubin command -v assemble.sh)
Anda dapat menggunakan
locate assemble.sh
untuk menemukan lokasi file.sumber
assemble.sh
, yang tidak relevan di sini.locate
juga akan memberinya lokasi yang dia inginkan.assemble.sh
bukan nama file yang umum, jadi ia kemungkinan akan menemukan file dengan mudah (yang diminta OP).updatedb
sebelumlocate
menunjukkan hasil?updatedb
dijalankan setiap hari sebagai tugas cron, tapi ya, Anda mungkin harus memaksanya jika file tersebut sangat baru.