Trong dòng lệnh bash, tôi đặt biến myPath =/home/user/dir. Tôi tạo ra một kịch bản mà tôi đặt echo $ myPath nhưng nó dường như không hoạt động. Nó không có gì vang lên. Tôi có thể làm gì để truy cập biến myPath trong tập lệnh. Nếu tôi viết echo $ myPath trong lệnh, nó hoạt động, nhưng không phải trong kịch bản lệnh.Truy cập biến trong tập lệnh bash
Trả lời
Hãy thử
export myPath=/home/user/dir
làm thế nào bạn gán biến? nó cần phải có được:
$ export myPath="/home/user/dir"
sau đó bên trong một chương trình shell như:
#!/usr/bin/env bash
echo $myPath
bạn sẽ nhận được kết quả mong muốn.
Nếu bạn cần sử dụng điều này bên trong một chuỗi được trích dẫn khác, bạn cũng có thể làm echo "Đường dẫn là $ {myPath}" –
Bạn cũng có thể làm điều này để đặt biến myPath chỉ cho myscript
myPath="whatever" ./myscript
Để biết chi tiết về cú pháp phức tạp thừa nhận cho các biến môi trường xem: http://www.pixelbeat.org/docs/env.html
Bạn phải khai báo giao biến của bạn với " xuất khẩu "như vậy:
export myPath="/home/user/dir"
Điều này sẽ làm cho vỏ bao gồm biến trong enviro nment của subprocesses nó khởi chạy. Theo mặc định, các biến mà bạn khai báo (không có "xuất khẩu") không được chuyển cho một tiến trình con. Đó là lý do tại sao ban đầu bạn không nhận được kết quả mong đợi.
- 1. chrome.tabs.executeScript: Cách truy cập biến từ tập lệnh nội dung trong tập lệnh nền?
- 2. Biến tập lệnh bash nội tuyến
- 3. Chuyển các biến bash sang tập lệnh?
- 4. Không thể đặt biến trong tập lệnh bash
- 5. Cách tìm chuỗi con trong biến tập lệnh bash shell
- 6. Tệp nguồn trong tập lệnh bash
- 7. Đối số truy cập vào tập lệnh Bash bên trong một hàm
- 8. Truy cập biến ngoài câu lệnh 'if'
- 9. Đọc các biến Bash thành tập lệnh Python
- 10. SSIS - Cách truy cập biến RecordSet bên trong Tác vụ Tập lệnh
- 11. Cách truy cập biến gói ssis bên trong thành phần tập lệnh
- 12. Làm cách nào để truy cập các biến môi trường trong tập lệnh Mong đợi?
- 13. Truy cập các biến toàn cầu trong một tập lệnh PHP riêng biệt?
- 14. Lỗi Standard_in trong tập lệnh bash
- 15. Truy xuất tập lệnh văn bản thuần túy từ tập lệnh bash được biên dịch
- 16. Đặt biến môi trường cho tập lệnh trong biến hàm bash cục bộ
- 17. JavaScript: Truy cập Biến Defined trong External .js tập tin
- 18. Chạy tập lệnh bash shell trong java
- 19. Đầu ra lệnh của kịch bản lệnh Bash vào biến
- 20. Tập lệnh Bash hoặc Bourne?
- 21. Tự xóa tập lệnh bash
- 22. Cách bao gồm tệp trong tập lệnh bash shell
- 23. Truy cập vào đường dẫn tập lệnh JMeter
- 24. Chạy tập lệnh bash từ tập lệnh R
- 25. Bash - Thoát tập lệnh mẹ từ tập lệnh con
- 26. Tập lệnh Bash là gì: = cho?
- 27. Truy xuất trạng thái thoát từ tập lệnh php bên trong tập lệnh shell
- 28. Tập lệnh Bash không được hiểu bởi Ubuntu Bash
- 29. Tập lệnh Bash để chèn các giá trị trong MySQL
- 30. Cách lấy đầu ra của lệnh bash trong biến
sử dụng xuất var cũng trong tiểu sử bash của bạn - nếu bạn muốn tập lệnh của mình truy cập vào biến này. ví dụ JAVA_HOME – LukeSolar
Điều này gây hiểu lầm. 'Xuất khẩu' không có hiệu lực hiển thị trên trình bao hiện tại. Nó rất hữu ích khi giá trị của biến cần được hiển thị cho các tiến trình con được bắt đầu từ trình bao hiện tại. – tripleee
@tripleee Thật vậy, và trừ khi tôi đang thiếu một cái gì đó, đó là chính xác những gì các câu hỏi được hỏi về: làm thế nào để truy cập vào một biến từ một subprocess (được thực hiện một kịch bản shell). –