Làm thế nào để tôi thêm biến môi trường?

Tôi đang chạy Ubuntu 11.04. Tôi sử dụng các thiết bị đầu cuối để bắt đầu một bash họp và tôi muốn thêm một môi trường biến:

$r@hajt:~$ env THEVAR=/example

Nhưng nó không phải làm việc. Nó cho thấy tất cả các biến với THEVAR là người cuối cùng, nhưng một cuộc gọi đến env không show THEVAR nữa- env | grep THEVAR lợi nhuận, không có gì.

Tương tự, kịch bản với khẩu (export THEVAR=/example) hoặc biến khác bài tập (THEVAR=/example) đừng thêm biến môi trường.

Tôi biết tôi đang làm một cái gì đó sai trái, tôi biết nó sẽ được một cái gì đó đơn giản, nhưng tôi chỉ không thể tìm thấy những gì.

CẬP nhật:ý nghĩa thực Sự của câu hỏi của tôi là cái này: https://stackoverflow.com/questions/496702/can-a-shell-script-set-environment-variables-of-the-calling-shell

(Dù sao, tôi sẽ chọn nhất bình chọn câu trả lời, và để lại các sửa tiêu đề -đó không phải là điều tôi đã yêu cầu)

env chạy một chương trình trong một biến đổi môi trường, sau đó bác bỏ tất cả những thay đổi.

Để thiết lập biến chỉ cho hiện tại vỏ:

VARNAME="my value"

Để thiết lập nó cho hiện tại, và vỏ tất cả quá trình bắt đầu từ vỏ hiện tại:

export VARNAME="my value"      # shorter, less portable version

Để đặt nó vĩnh viễn cho tất cả tương lai bash buổi thêm như dòng của bạn .bashrc tập tin của bạn $HOME mục.

Để thiết lập đó vĩnh viễn, và hệ thống rộng (tất cả người sử dụng tất cả quá trình) thêm đặt biến trong /etc/môi trường:

sudo -H gedit /etc/environment

Tập tin này chỉ chấp nhận biến nhiệm vụ giống như:

VARNAME="my value"

Không sử dụng export từ khóa ở đây.

Bạn cần để thoát từ giờ dùng và đăng nhập một lần nữa, vì vậy môi trường biến thay đổi diễn ra.

Để thiết lập một môi trường biến một lần, sử dụng những export lệnh trong nhắc, không phải trong một kịch bản:

$ export THEVAR=/example

Biến sẽ được đặt cho phần còn lại của vỏ buổi hay cho đến khi bỏ.

Để thiết lập một môi trường biến mọi lúc, sử dụng những export lệnh trong những .bashrc thấy (hoặc thích hợp khởi sơ của vỏ).

Để thiết lập một môi trường biến đổi từ một kịch bản, sử dụng những export lệnh trong kịch bản, và sau đó source kịch bản. Nếu bạn thực hiện các kịch bản, nó sẽ không làm việc.

Cho một lời giải thích của sự khác biệt giữa các nguồn cung và cách thực hiện thấy câu trả lời này: https://superuser.com/questions/176783/what-is-the-difference-between-executing-a-bash-script-and-sourcing-a-bash-script/176788#176788

Để vĩnh viễn thêm một môi trường mới biến trong windows (thử nghiệm chỉ trong 14.04), sử dụng các bước sau:

  1. Mở một thiết bị đầu cuối (bằng cách nhấn CtrlAltT)
  2. sudo -H gedit /etc/environment
  3. Gõ mật khẩu
  4. Chỉnh sửa các tập tin văn bản chỉ cần mở ra:
    ví dụ như nếu muốn thêm FOO=bar sau đó, chỉ cần viết FOO=bar trong một dòng mới
  5. Cứu nó
  6. Sau khi cứu thoát và đăng nhập một lần nữa.
  7. Yêu cầu của bạn thay đổi được thực hiện.

Để có được những môi trường/var thay đổi để tồn tại sau khi kịch bản đã hoàn thành, bạn phải sử dụngsource ./script.sh hoặc các ký hiệu viết tắt cho nguồn ".", giống như . ./script.sh

Nguồn sẽ thực hiện lệnh trong kịch bản, nếu như bạn đã gõ họ... vì vậy, nó thay đổi một vài khía cạnh của kịch bản như thoát... vì vậy, nếu bạn kịch bản kiểm tra một cái gì đó và quyết định đến lối ra nếu sai, ví dụ, qua gọi điện thoại exit 0 nó sẽ chấm dứt hiện tại của thiết bị đầu cuối / vỏ họp.

Tôi biết nó khá muộn, nhưng nếu bạn muốn thêm một môi trường biến cho tất cả người sử dụng (ví dụ như JAVA sử dụng) - bạn có thể làm như sau:

1) Mở /etc/bash.bashrc bằng cách sử dụng nano (bạn có thể sử dụng bất cứ điều gì biên tập, tôi không thích TÊN là, nó là điều tồi tệ nhất khi nói đến thân thiện với người sử - không có gì cá nhân).

2) Thêm vào các tập tin:

export VAR=path export PATH=$PATH:/bin3) (Tốt hơn nếu bạn có thể trả các hộp) - hoặc chỉ cần mở một phiên SSH và xác nhận bằng cách sử dụng `mộ' lệnh.

NHƯNG NẾU bạn muốn mỗi người phải có một tách biệt lập này, mày phải thực hiện một sự thay đổi (kịch bản) đến .bashrc tập tin dưới ~/.bashrc (or /home/$USER/ nếu bạn là người mới đến unix)

Nếu bạn đang làm những điều qua kịch bản, một cách dễ dàng để thiết lập môi trường biến vĩnh viễn được đặt dưới tuyên bố của kịch bản,

if [[ ! -d "$MyVar" ]]; then     export MyVar="abc"    echo 'export MyVar="abc"' >> ~/.bashrcfi

Nếu bạn cần phải evaluage biểu hiện như người khuyết tật, bạn có thể sử dụng này, ví dụ,

echo "export EIGEN_ROOT=\"$(pwd)/eigen\"" >> ~/.bashrc

Nếu bạn đang sử dụng cấp bất kỳ hệ thống Unix, sau đó xuất biến trong những ~/.bashrc tập tin. Nó là một tập tin và bạn có thể có thông qua thiết bị đầu cuối hoặc bởi bỏ ẩn các tập tin ẩn trong hệ thống tập tin.

Sau đó, sửa các tập tin và tập export THEVAR=/example có, tiết kiệm và nó được thực hiện.

Nếu bạn đang triển khai JAVA ứng dụng, sử dụng MÈO bạn có thể thiết lập biến môi trường cách sau:

1.ngôi su và cd để /var/thư/tomcat8// thùng (hoặc nào là của bạn lẩn thẩn bin đường)

  1. touch setenv.sh(nếu nó không tồn tại), nếu thấy mặt đã làm 'vi setenv.sh'

  2. đèn flash 777 setenv.sh (hãy tập tin thực thi)

  3. vi setenv.sh và thiết lập theo dòng trong setenv.shexport chìa khóa=giá trị

  4. ngôi systemctl khởi động lại lẩn thẩn.dịch vụ

Trong của tập tin có thể sử dụng những mã để kiểm tra nếu biến được thiết lập

private static void printEnv() {    System.out.println("******************************Environment Vars*****************************");    Map<String, String> enviorntmentVars = System.getenv();    enviorntmentVars.entrySet().forEach(System.out::println);    System.out.println("******************************system Vars*****************************");    Properties enviorntmentProperties = System.getProperties();    enviorntmentVars.entrySet().forEach(System.out::println);}

Người kia là về toàn cầu biến cái này không thêm một giới hạn như vậy. Tôi muốn giữ nó cho riêng biệt.

https://help.ubuntu.com/community/EnvironmentVariables

Khi xác định/xuất khẩu .bashrc, nó hoạt động đúng.

Làm thế nào về THEVAR=/dụ?

có thể có bản sao của Google trái Đất và $DUYỆT biến môi trường