Khi tôi chạy export $PATH
trong bash, tôi nhận được lỗi not a valid identifier
. Tại sao?
Khi tôi chạy export $PATH
trong bash, tôi nhận được lỗi not a valid identifier
. Tại sao?
Câu trả lời:
Chạy export $PATH
sẽ cố gắng xuất một biến có tên bằng giá trị của $PATH
(sau khi tách từ ). Đó là, nó tương đương với việc viết một cái gì đó như export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. Và vì /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
không phải là một tên biến hợp lệ, nó thất bại. Những gì bạn muốn làm là export PATH
.
export
(tương đương với declare -x
) trong Bash chỉ đơn giản là làm cho biến có sẵn cho các lớp con.
Để in giá trị của biến một cách an toàn và dễ đọc, hãy sử dụng printf %q "$PATH"
.
export
từng làm việc như thế ở Bash.
Lệnh sau export $PATH=somePath
sẽ trả về not a valid identifier
và đó là do $
trước PATH
biến.
dung dịch:
export PATH=somePath
Bạn nên sử dụng nó theo cách này:
export PATH=$PATH:/something/bin
Thay vì:
export $PATH=$PATH:/something/bin
chỉ cần loại bỏ các $
dấu hiệu từ phía bên tay trái.
Bạn có thể có nhu cầu nối thêm $ PATH vào biến PATH hiện tại của mình?
export PATH=$PATH:/something/bin
$
là giá trị của Expedia. Bạn đang xuất biếnPATH
, không truy cập giá trị của nó, vì vậy nóexport PATH
không có$
.