Ini ialah arahan envpathp yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
envpath - Operasi lanjutan pada pembolehubah laluan
SINOPSIS
Jalankan skrip ini dengan pilihan "-help" untuk butiran penggunaan.
DESCRIPTION
Menghuraikan baris arahan, mengubah suai pembolehubah laluan yang ditentukan dan melaksanakan yang selebihnya
hujah. Terdapat dua mod, mudah and maju:
MUDAH MODE
Mod ringkas mempersembahkan sintaks bebas platform alternatif untuk menentukan laluan
di mana pemisah laluan ialah "," dan pembolehubah persekitaran boleh dikembangkan dengan @NAME@.
Sebagai contoh
envpath PATH=@PATH@,/usr/ucb -- printenv PATH
menambahkan "/usr/ucb" pada $PATH dan eksekutif printenv PATH. "--" adalah pilihan.
Anda juga boleh menentukan pendahuluan atau penambahan dengan menggunakan "+=" atau "=+" masing-masing:
# letak /usr/ucb di hadapan
envpath PATH+=/usr/ucb -- printenv PATH
# letak /usr/ucb di belakang
envpath PATH=+/usr/ucb -- printenv PATH
Mod mudah hanya memerlukan skrip ini; ia tidak memerlukan Env::Path untuk dipasang.
ADVANCED MODE
Mod lanjutan pada asasnya menyediakan akses baris arahan kepada ciri Env::Path (lihat),
yang mesti dipasang. Bendera "-E" memilih pembolehubah laluan untuk beroperasi dan lain-lain
bendera menentukan operasi padanya. Cth
envpath -E MANPATH -A / tmp -R / usr / share / lelaki -N -U -- lelaki ...
akan mengambil MANPATH, tambahkan / tmp kepadanya, alih keluar sebarang rujukan kepada "/ usr / share / lelaki", keluarkan
sebarang dir yang tidak wujud ("-N") dan keluarkan entri berlebihan ("-U") sebelum dijalankan lelaki.
Pilihan -Whence membenarkan corak. Justeru
envpath -W "kucing*"
akan menemui semua program pada PATH yang sepadan dengan kucing*.
CLEARCASE WINKINS
Sebahagian besar motivasi untuk skrip ini adalah untuk digunakan dengan binaan ClearCase; kalau awak
tahu atau ambil berat tentang ClearCase baca terus. Biasanya, semasa binaan (dan bukan hanya dengan
ClearCase), pathvars seperti PATH, CLASSPATH dan LD_LIBRARY_PATH mestilah betul-betul
terkawal. Satu pilihan adalah untuk memaksa nilai statik ini ke dalam persekitaran semasa
membina proses, satu lagi adalah hanya memerlukan/mengharapkan pengguna untuk menetapkan laluan mereka dengan sewajarnya.
Setiap satu daripada ini boleh membawa kepada ralat binaan atau masa jalan yang halus, bagaimanapun, dan menyukarkannya
pengguna baharu untuk menjadi lebih pantas kerana persekitaran peribadi mereka mestilah begitu.
Satu lagi pilihan biasa ialah menggunakan hanya nama laluan penuh dalam Makefile, mengelakkan pergantungan
pada laluan carian sama sekali. Ini selalunya cara terbaik untuk pergi tetapi boleh menyekat ClearCase
winkins. Sebagai contoh, katakan anda menjana fail ascii daripada beberapa jenis dengan binari
boleh laku yang baru anda bina:
$(INCDIR)/foo.h: $(BINDIR)/foomaker $(BINDIR)/foomaker ...
Masalahnya ialah $(BINDIR) berkemungkinan mengandungi bahagian platform seperti 'solaris'
atau 'hpux', yang menjadikannya mustahil untuk mengenyitkan mata dalam fail foo.h pada platform lain walaupun
walaupun ia ascii. Perkara yang sama ini boleh muncul walaupun dengan utiliti pra-bina standard
itu di tempat yang berbeza pada platform yang berbeza; "yacc", misalnya, berada dalam / usr / bin on
Linux dan /usr/ccs/bin pada Solaris.
Anda boleh mengubah suai laluan dengan cepat:
$(INCDIR)/foo.h: $(BINDIR)/foomaker PATH=$(BINDIR)$(SEP)$$PATH foomaker ...
tetapi ini mengalami masalah yang sama: kerana $(BINDIR) dan $PATH dikembangkan secara literal
dalam skrip binaan mereka akan menyekat winkins. Berikut adalah penyelesaian menggunakan envpath:
$(INCDIR)/foo.h: $(BINDIR)/foomaker envpath PATH=@BINDIR@,@PATH@ foomaker ...
Ini menyembunyikan penilaian BINDIR dan PATH sedemikian rupa clearmake tidak pernah melihat apa-apa melainkan
literal, dengan itu mengosongkan medan untuk winkins. Sudah tentu envpath mampu melakukan
lebih daripada ini, tetapi ia adalah sebab asal ia ditulis.
Gunakan envpathp dalam talian menggunakan perkhidmatan onworks.net