2011-10-12 38 views
20

Tôi muốn đặt biến môi trường có không gian trong đó. nó là một đường dẫn đến một thư mục và tên thư mục là: /home/mehrabib/video của tôiĐặt biến môi trường có linux không gian

tôi sửa .bashrc và thêm dòng sau vào nó:

export $VIDEO=/home/mehrabib/my\ video 

và chạy các lệnh sau:

echo $VIDEO 
cd $VIDEO 

kết quả là:

/home/mehrabib/my video 
/home/mehrabib/my :no such file or directory 

tôi thay đổi nó để

export $VIDEO=/home/mehrabib/my\\\ video 

và chạy các lệnh sau:

echo $VIDEO 
cd $VIDEO 

kết quả là:

/home/mehrabib/my\ video 
/home/mehrabib/my\ :no such file or directory 

những gì tôi nên làm gì?

+1

Wrap nó trong dấu ngoặc kép, như 'VAR = "/ home/mehrabib/video của tôi"' – birryree

Trả lời

24

Bạn nên làm

export VIDEO="/home/mehrabib/my video" 

và tổng hợp ý kiến ​​của Dan lên cũng làm

cd "$VIDEO" 

mà sẽ mở rộng để

cd "/home/mehrabib/my video" 

một lần nữa.

Cá nhân, tôi thích sử dụng cú pháp $ {VIDEO}.

+1

không cần '$'. –

+2

Cần có '$' khi 'cd' vào thư mục. 'cd" VIDEO "' sẽ không hoạt động. –

1

Cố gắng báo giá VIDEO: cd "$VIDEO".

+2

Và làm tương tự cho 'Video xuất khẩu ="/home/mehrabib/video của tôi "' –

6

Bạn cũng có thể thay thế các ký tự đặc biệt - sử dụng * làm ký tự đại diện để thay thế cho không gian.

Video = "/ home/mehrabib/m * o"

+0

... trừ khi bạn có thư mục khác bắt đầu bằng 'm' và kết thúc bằng 'o'; như "mono" :) – user2023370

+2

Tôi đang đối mặt với điều này trên mac OSX, đối với tôi các dấu ngoặc kép không hoạt động, thay vào đó biểu tượng * hoạt động. – AbrahamJP

Các vấn đề liên quan