Tôi muốn xây dựng một hàm ngắn để làm như sau. Giả sử tôi di chuyển tệp 'file.tex' vào thư mục tài liệu của mình:
mv file.tex ~/Documents
Sau đó, tôi muốn cd
đến thư mục đó:
cd ~/Documents
Tôi muốn khái quát nó cho bất kỳ thư mục nào, để tôi có thể làm điều này:
mv file.tex ~/Documents
follow
và có follow
lệnh đọc đích từ lệnh trước, sau đó thực hiện theo. Đối với một thư mục đơn giản, điều này không tiết kiệm nhiều thời gian, nhưng khi làm việc với các thư mục lồng nhau, sẽ rất tuyệt vời khi chỉ có thể sử dụng
mv file.tex ~/Documents/folder1/subfolder1
follow
Tôi nghĩ nó sẽ tương đối đơn giản và tôi có thể làm một cái gì đó như thế này:
follow()
{
place=`history 2 | sed -n '1p;1q' | rev | cut -d ' ' -f1 | rev`
cd $place
}
nhưng điều này dường như không hoạt động. Nếu tôi lặp lại $place
, tôi sẽ nhận được chuỗi mong muốn (tôi đang kiểm tra nó ~/Documents
), nhưng lệnh cuối cùng trả về
No such file or directory
Thư mục chắc chắn tồn tại. Tôi thua lỗ. Ông có thể giúp tôi không?
cd
alt + .
để thay thế mã thông báo cuối cùng của lệnh trước đó. Lặp lại để quay trở lại trong lịch sử của các mã thông báo cuối cùng. (Tôi nói mã thông báo không phải là arg, vì foo &
lấy &
làm mã thông báo cuối cùng.) Bạn có thể sử dụng một đối số số (ví dụ với esc-3 alt +.).
file.tex
vị trí ban đầu, các liên kết tượng trưng là một lựa chọn rất tốt, vì bạn chỉ phải liên kết một lần, và sau đó nó sẽ luôn trỏ đến phiên bản mới nhất.