Tôi đang cố gắng hiểu việc sử dụng lệnh export
.Lệnh xuất UNIX UNIX
Tôi đã thử sử dụng man export
, nhưng không có hướng dẫn sử dụng cho lệnh này.
Có ai vui lòng giúp tôi hiểu về việc sử dụng export
trong UNIX không?
Tôi đang cố gắng hiểu việc sử dụng lệnh export
.Lệnh xuất UNIX UNIX
Tôi đã thử sử dụng man export
, nhưng không có hướng dẫn sử dụng cho lệnh này.
Có ai vui lòng giúp tôi hiểu về việc sử dụng export
trong UNIX không?
Khi bạn thực hiện chương trình, chương trình con kế thừa các biến môi trường của nó từ cha mẹ. Ví dụ: nếu $HOME
được đặt thành /root
trong phụ huynh thì biến số $HOME
của trẻ cũng được đặt thành /root
.
Điều này chỉ áp dụng cho biến môi trường được đánh dấu để xuất. Nếu bạn đặt biến tại dòng lệnh như
$ FOO="bar"
Biến đó sẽ không hiển thị trong quy trình con. Không, trừ khi bạn xuất nó:
$ export FOO
Bạn có thể kết hợp hai câu lệnh này vào một duy nhất trong bash (nhưng không phải trong sh cũ-trường):
$ export FOO="bar"
Dưới đây là một ví dụ nhanh cho thấy sự khác biệt giữa các biến được xuất và không xuất. Để hiểu những gì đang xảy ra, hãy biết rằng sh -c
tạo ra một quá trình shell con thừa hưởng môi trường của trình bao cha mẹ.
$ FOO=bar
$ sh -c 'echo $FOO'
$ export FOO
$ sh -c 'echo $FOO'
bar
Lưu ý: Để được trợ giúp về vỏ lệnh built-in sử dụng help export
. Shell được xây dựng sẵn là các lệnh là một phần của trình bao của bạn chứ không phải là các tệp thi hành độc lập như /bin/ls
.
Unix
Lệnh env, set và printenv hiển thị tất cả các biến môi trường và giá trị của chúng. env và set cũng được sử dụng để thiết lập các biến môi trường và thường được kết hợp trực tiếp vào trình bao. printenv cũng có thể được sử dụng để in một biến duy nhất bằng cách đặt tên biến đó làm đối số duy nhất cho lệnh.
Trong Unix, các lệnh sau cũng có thể được sử dụng, nhưng thường phụ thuộc vào một trình bao nào đó.
export VARIABLE=value # for Bourne, bash, and related shells
setenv VARIABLE value # for csh and related shells
Bạn có thể có một cái nhìn tại this tại
Chào mừng bạn đến với StackOverflow. Lưu ý rằng trình bao Bourne cổ điển sẽ yêu cầu: 'VARIABLE = value; xuất VARIABLE' thay vì chỉ định và xuất cùng một lúc.Lệnh 'set' trong C Shell là cho các biến shell chứ không phải là các biến môi trường; 'setenv' là đối tác của' export'. Lệnh 'set' trong các shell xuất phát từ Bourne in tất cả các biến, không chỉ các biến được xuất (môi trường). Trong lịch sử ít nhất, lệnh 'env' tách biệt khỏi shell (không phải là một built-in), mặc dù nó có thể dễ dàng được tạo thành một built-in. Nó đặt môi trường cho một lệnh cụ thể, không phải trình bao chạy nó. –
export
được sử dụng để thiết lập các biến môi trường. Ví dụ:
export EDITOR=pico
Sẽ đặt trình chỉnh sửa văn bản mặc định là pico
.
export
là lệnh tích hợp của bash
shell và Bourne shell variants khác. Nó được sử dụng để đánh dấu một biến hệ vỏ để xuất ra các tiến trình con.
điều kỳ lạ của nó là không có trang người đàn ông cho nó. Tôi cũng không thấy. – Pinocchio