Trong tập lệnh bash của tôi, tôi cần thay đổi thư mục hiện tại thành thư mục chính của người dùng.Thay đổi thư mục tập lệnh thành homedir của người dùng trong tập lệnh shell
nếu tôi muốn thay đổi để foo nhà dir của người dùng, từ dòng lệnh tôi có thể làm:
cd ~foo
nào hoạt động tốt, tuy nhiên khi tôi làm như vậy từ kịch bản nó nói với tôi :
./bar.sh: line 4: cd: ~foo: No such file or directory
Đường nối như vậy sẽ là một điều nhỏ nhặt nhưng không hoạt động. Có vấn đề gì ở đây? Tôi có cần phải thoát khỏi dấu ngoặc kép "~" hoặc có thể bị thiếu hoặc cái gì khác không?
Sửa
khi tôi nói dùng Tôi không có ý hiện tại người dùng chạy kịch bản, nhưng nhìn chung sử dụng bất kỳ khác trên hệ thống
Sửa
Đây là tập lệnh:
#!/bin/bash
user="foo"
cd ~$user
nếu tên người dùng là hardcoded như
cd ~foo
nó hoạt động, nhưng nếu nó là trong sử dụng biến sau đó nó không. Tôi đang thiếu gì ở đây?
Bạn có muốn thư mục chính cho người dùng foo hoặc thư mục foo trong thư mục chính của người dùng không? –
Tôi muốn thư mục chính của người dùng foo –
Hình dạng của bạn trông như thế nào? –