Đây là lệnh envpathp có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
envpath - Các thao tác nâng cao trên các biến đường dẫn
SYNOPSIS
Chạy tập lệnh này với tùy chọn "-help" để biết chi tiết sử dụng.
MÔ TẢ
Phân tích cú pháp dòng lệnh, sửa đổi (các) biến đường dẫn được chỉ định và thực thi phần còn lại
tranh luận. Có hai chế độ, đơn giản và tiên tiến:
ĐƠN GIẢN PHƯƠNG THỨC
Chế độ đơn giản trình bày một cú pháp thay thế, độc lập với nền tảng để chỉ định đường dẫn
trong đó dấu phân tách đường dẫn là "," và các biến môi trường có thể được mở rộng bằng @ NAME @.
Ví dụ
envpath PATH = @ PATH @, / usr / ucb - printenv PATH
nối "/ usr / ucb" vào $ PATH và các tệp thi hành inenv PATH. Dấu "-" là tùy chọn.
Bạn cũng có thể chỉ định chi tiêu trước hoặc bổ sung bằng cách sử dụng "+ =" hoặc "= +" tương ứng:
# place / usr / ucb ở phía trước
envpath PATH + = / usr / ucb - printenv PATH
# place / usr / ucb ở phía sau
envpath PATH = + / usr / ucb - printenv PATH
Chế độ đơn giản chỉ yêu cầu tập lệnh này; nó không yêu cầu phải cài đặt Env :: Path.
ADVANCED PHƯƠNG THỨC
Chế độ nâng cao về cơ bản cung cấp quyền truy cập dòng lệnh vào các tính năng của Env :: Path (xem),
mà phải được cài đặt. Cờ "-E" chọn biến đường dẫn để hoạt động và
cờ chỉ định các hoạt động trên nó. Ví dụ
envpath -E MANPATH -A / Tmp -R / usr / share / man -N -U - anh bạn ...
sẽ lấy MANPATH, nối thêm / Tmp đến nó, xóa mọi tham chiếu đến "/ usr / share / man", tẩy
bất kỳ dirs nào không tồn tại ("-N") và xóa các mục thừa ("-U") trước khi chạy người đàn ông.
Tùy chọn -Whence cho phép các mẫu. Như vậy
envpath -W "cat *"
sẽ tìm thấy tất cả các chương trình trên PATH khớp với cat *.
XÓA nháy mắt
Một phần lớn động lực cho tập lệnh này là để sử dụng với các bản dựng ClearCase; iff bạn
biết hoặc quan tâm đến ClearCase, hãy đọc tiếp. Thông thường, trong quá trình xây dựng (và không chỉ với
ClearCase), các đường dẫn như PATH, CLASSPATH và LD_LIBRARY_PATH phải nghiêm ngặt
được kiểm soát. Một lựa chọn là buộc các giá trị tĩnh của những giá trị này vào môi trường trong
xây dựng quy trình, một quy trình khác chỉ đơn giản là yêu cầu / mong đợi người dùng thiết lập đường dẫn của họ một cách thích hợp.
Tuy nhiên, mỗi điều trong số này có thể dẫn đến lỗi xây dựng hoặc thời gian chạy tinh vi và gây khó khăn cho
người dùng mới bắt kịp tốc độ vì môi trường cá nhân của họ phải như vậy.
Một lựa chọn phổ biến khác là chỉ sử dụng tên đường dẫn đầy đủ trong Makefile, tránh phụ thuộc
trên các đường dẫn tìm kiếm. Đây thường là cách tốt nhất để thực hiện nhưng có thể ngăn chặn ClearCase
nháy mắt. Ví dụ: giả sử bạn đang tạo tệp ascii thuộc một số loại với tệp nhị phân
thực thi bạn vừa tạo:
$ (INCDIR) /foo.h: $ (BINDIR) / foomaker $ (BINDIR) / foomaker ...
Vấn đề với điều này là $ (BINDIR) có thể chứa một phần nền tảng chẳng hạn như 'solaris'
hoặc 'hpux', khiến bạn không thể nháy mắt trong tệp foo.h trên các nền tảng khác
mặc dù nó ascii. Điều tương tự này có thể xuất hiện ngay cả với một tiện ích tiêu chuẩn được xây dựng trước
đó là ở những nơi khác nhau trên các nền tảng khác nhau; "yacc", chẳng hạn, ở trong / usr / bin on
Linux và / usr / ccs / bin trên Solaris.
Bạn có thể sửa đổi đường dẫn một cách nhanh chóng:
$ (INCDIR) /foo.h: $ (BINDIR) / foomaker PATH = $ (BINDIR) $ (SEP) $$ PATH foomaker ...
nhưng điều này gặp phải cùng một vấn đề: vì $ (BINDIR) và $ PATH được mở rộng theo nghĩa đen
trong tập lệnh xây dựng, họ sẽ ngăn chặn các nháy mắt. Đây là một giải pháp sử dụng đường dẫn envpath:
$ (INCDIR) /foo.h: $ (BINDIR) / foomaker envpath PATH = @ BINDIR @, @ PATH @ foomaker ...
Điều này ẩn đánh giá của BINDIR và PATH sao cho làm rõ ràng không bao giờ nhìn thấy bất cứ điều gì nhưng
nghĩa đen, do đó xóa trường cho nháy mắt. Tất nhiên đường dẫn envpath có khả năng làm
nhiều hơn thế này, nhưng đó là lý do ban đầu nó được viết.
Sử dụng envpathp trực tuyến bằng các dịch vụ onworks.net