Trên Linux, tôi có thể làm:Powershell: Thiết lập một biến môi trường cho một lệnh duy nhất mà thôi
$ FOO=BAR ./myscript
gọi là "myscript" với các biến môi trường FOO đang được thiết lập.
Có điều gì đó tương tự có thể xảy ra trong Powershell, tức là không phải đặt biến đầu tiên, hãy gọi lệnh và sau đó không đặt lại biến đó?
Để rõ ràng hơn về trường hợp sử dụng của tôi - Tôi không muốn sử dụng điều này như là một phần của tập lệnh. Thay vào đó, tôi có một kịch bản của bên thứ ba có hành vi mà tôi có thể kiểm soát bằng cách sử dụng các biến môi trường, nhưng trong trường hợp này, không phải là các đối số dòng lệnh. Vì vậy, có khả năng luân phiên giữa gõ
$ OPTION=1 ./myscript
và
$ ./myscript
sẽ chỉ được rất tiện dụng.
Tôi đoán câu hỏi của tôi sẽ là lý do tại sao bạn sẽ cần phải làm điều này? Tôi nghĩ rằng có một giải pháp tốt hơn. – EBGreen
Đó thường không phải là một câu hỏi hữu ích, @EBGreen. Thực tế là khả năng có trong vỏ UNIX cho thấy rằng có một sử dụng cho nó. Tắt đầu của tôi: kiểm soát tên người dùng và địa chỉ email mà git sử dụng cho các cam kết. Không có tùy chọn dòng lệnh cho những người - bạn phải đặt chúng trong ~/.gitconfig, .git/config trong mỗi kho lưu trữ, hoặc envars. Trong số các tùy chọn này, envars rõ ràng là dễ dàng hơn để thiết lập on-the-fly (và thuận tiện ghi đè các giá trị trong các tập tin). Vì vậy, nếu tôi muốn thay đổi tên tác giả của tôi cho một "git commit" trong PowerShell, làm thế nào để làm điều đó? –