Vì nó là một biến môi trường (bí danh có một định nghĩa khác nhau trong bash
), bạn cần phải đánh giá nó với một cái gì đó như:
cd "${myFold}"
hay:
cp "${myFold}/someFile" /somewhere/else
Nhưng Tôi thực sự thấy dễ dàng hơn, nếu bạn chỉ muốn dễ dàng chuyển sang thư mục đó, để tạo một thực alia mới s (tại một trong những bash
file khởi động như .bashrc
), vì vậy tôi có thể tiết kiệm tổ hợp phím:
alias myfold='cd ~/Files/Scripts/Main'
Sau đó, bạn chỉ có thể sử dụng (không có cd
):
myfold
Để thoát khỏi định nghĩa , bạn sử dụng unalias
. Các chương trình bảng điểm sau tất cả những trong hành động:
pax> cd ; pwd ; ls -ald footy
/home/pax
drwxr-xr-x 2 pax pax 4096 Jul 28 11:00 footy
pax> footydir=/home/pax/footy ; cd "$footydir" ; pwd
/home/pax/footy
pax> cd ; pwd
/home/pax
pax> alias footy='cd /home/pax/footy' ; footy ; pwd
/home/pax/footy
pax> unalias footy ; footy
bash: footy: command not found
Cảm ơn. Điều đó hoạt động. Tôi đã thử chỉ bí danh myfold = '~/some/path' và cd myfold. Tôi gặp lỗi - không có thư mục như vậy. Tại sao ? Ngoài ra, có thể "bỏ gán" biến bí danh không? – bashboy
myfold = '~/some/path' cd "$ myfold" Không. Tại sao ? – bashboy
@bashboy, có thể vì bạn không có thư mục nào có tên đó. ~/some/path là một ví dụ, bạn nên thay thế đường dẫn _actual_ mà bạn muốn sử dụng. Tôi sẽ thay đổi nó để sử dụng thư mục ví dụ của bạn để nó rõ ràng hơn. Về cách bỏ gán một bí danh, bạn sử dụng lệnh unalias. Tôi cũng đã cập nhật câu trả lời bằng một bảng điểm, bao gồm cả việc sử dụng lệnh đó. – paxdiablo