Điểm:3

Rủi ro khi thay thế tệp .bashrc từ máy tính này sang máy tính khác

lá cờ id

Tôi có 2 máy tính xách tay Asus Zenbook chạy Ubuntu 20.04.3LTS (máy tính xách tay hiện tại của tôi và tôi giữ máy tính xách tay cũ của mình như một hệ thống dự phòng khẩn cấp vì tôi không thể không có máy tính xách tay). Tôi rất hiếm khi sử dụng cái cũ, nhưng tôi chạy sudo ap-get cập nhậtsudo apt-get nâng cấp 3-4 tuần một lần.

Khi tôi mở nó lần cuối vài ngày trước, tôi đã gặp lỗi khi mở thiết bị đầu cuối:

bash: /home/will/.bashrc: dòng 100: EOF bất ngờ trong khi tìm kiếm 
khớp `)'
bash: /home/will/.bashrc: dòng 121: lỗi cú pháp: kết thúc tệp không mong muốn  

... mặc dù nó có vẻ hoạt động tốt với mọi thứ tôi đã cố gắng thực hiện trong thiết bị đầu cuối.

Như thường lệ, không có gì rõ ràng trong các dòng được đề cập trong lỗi là nguyên nhân - Tôi đã xem qua nhanh và không thể tìm thấy bất cứ điều gì tôi đã thay đổi ở bất kỳ nơi nào khác trong tệp có thể gây ra lỗi đó. Mặc dù cuối cùng tôi có thể tìm kiếm nó, nhưng việc thay thế tệp có thể dễ dàng hơn.

Câu hỏi của tôi là - vì tôi có một máy tính xách tay tương tự thứ hai chạy phiên bản Ubuntu giống hệt nhau, có lý do nào không chỉ sao chép .bashrc đang hoạt động từ máy tính xách tay mới hơn để thay thế cái bị hỏng trên máy tính xách tay cũ của tôi không? Thay vào đó, tôi có thể thay thế bằng phiên bản gốc từ USB trực tiếp (có một số bài đăng trên trang này gợi ý gián tiếp rằng điều đó là có thể), nhưng tôi chợt nhận ra rằng một số bí danh tôi đã tạo (và do đó trong .bashrc trên máy tính xách tay mới hơn) sẽ hữu ích nếu có trên máy tính xách tay cũ.

Nếu điều này là có thể, vui lòng cho biết nếu bạn biết về bất kỳ trường hợp nào khi nó sẽ không phải là một ý tưởng tốt. Có lẽ không hợp lý giữa các bản phát hành Ubuntu khác nhau? Điều này không liên quan đến tình huống của tôi, nhưng (không quan tâm) tôi cho rằng sẽ không có vấn đề gì nếu phần cứng rất khác nhau (ví dụ: máy tính xách tay so với máy tính để bàn)?

Chỉnh sửa: để đáp lại các nhận xét: đó là một tệp độc lập. Những sửa đổi duy nhất mà tôi (cố ý) thực hiện là thêm một số bí danh (để đồng bộ hóa dữ liệu trên phân vùng được mã hóa của tôi với ổ đĩa được mã hóa bằng bàn phím ngoài). Rõ ràng là tôi đã xem qua các bí danh để kiểm tra xem tôi không mắc một lỗi đơn giản nào nhưng không thể tìm thấy điều gì rõ ràng.

mchid avatar
lá cờ bo
Có vẻ như có một ký tự chưa khớp ( trên dòng 100 và có thể là một khoảng trắng vô hình hoặc ký tự đặc biệt trên dòng 121. Trong mọi trường hợp, việc thay thế tệp sẽ là một cách khắc phục dễ dàng (xem câu trả lời của tôi bên dưới).
lá cờ cn
Thật kỳ lạ khi lỗi này chỉ mới bắt đầu xảy ra, phải không?
Will avatar
lá cờ id
Thật kỳ lạ ... mặc dù nó có thể đã ở đó một thời gian - sẽ không rõ ràng nếu bạn không mong đợi điều gì đó - tôi khá chắc chắn đó là lỗi của con người và tôi đã làm điều gì đó buồn cười với tệp trong khi chỉnh sửa nó.
bac0n avatar
lá cờ cn
`diff -y -W130 ~/.bashrc /etc/skel/.bashrc | cat -n` là một khởi đầu tốt
muru avatar
lá cờ us
`.bashrc` của bạn có độc lập không? Những loại sửa đổi nào bạn thực hiện cho nó? Không có thông tin này, không thể đưa ra câu trả lời hợp lý.
Will avatar
lá cờ id
@muru - cảm ơn. Vâng, nó khép kín.Những sửa đổi duy nhất mà tôi đã cố ý thực hiện là thêm bí danh để chạy đồng bộ hóa giữa máy tính xách tay và ổ đĩa ngoài bằng cách sử dụng rsync. Tôi đã chỉnh sửa câu hỏi với thông tin này.
muru avatar
lá cờ us
@Bạn đã thử chạy shellcheck trên nó chưa? Đây cũng là một chương trình có thể cài đặt mà bạn có thể sử dụng nếu không muốn gửi bashrc của mình tới một trang web.
vanadium avatar
lá cờ cn
Bất chấp mức độ chi tiết của nó, câu hỏi của bạn chỉ đơn giản là "Rủi ro khi thay thế tệp .bashrc từ máy tính này sang máy tính khác". Vì vậy, hãy dính vào nó. Mọi nỗ lực gỡ lỗi tệp của bạn nằm ngoài phạm vi của câu hỏi như bạn đã hỏi.
Will avatar
lá cờ id
@muru - cảm ơn vì điều đó; như vanadi nói rằng mối quan tâm chính của tôi là xem liệu bạn có thể sao chép tệp từ hệ thống này sang hệ thống khác hay không, nhưng nó có vẻ hữu ích nếu tôi gặp phải các vấn đề khác, vì vậy cảm ơn bạn!
Will avatar
lá cờ id
@vanadium - vâng, tôi có tùy chọn -v trong câu hỏi của mình!! Bạn nói đúng, tôi muốn thay thế tệp.
Điểm:7
lá cờ bo

Tôi không nghĩ có lý do gì để không sao chép và thay thế cái cũ .bashrc tệp bằng tệp mới trừ khi bạn có một lượng lớn cấu hình tùy chỉnh trong tệp.

Cái mới .bashrc sẽ là một sự thay thế tốt, hoạt động hoàn hảo, giả sử không có cấu hình tùy chỉnh cụ thể của người dùng trong tệp mới.

Để an toàn, tốt nhất bạn nên sao lưu tệp cũ.

Điểm:2
lá cờ cn

Lỗi có thể được khắc phục bằng cách kiểm tra hiện tại của bạn .bashrc tập tin. Tuy nhiên, nếu bạn không thực hiện nhiều tùy chỉnh, cách an toàn nhất, thay vì sao chép tệp từ nơi khác, sẽ là đặt lại tệp hiện tại của bạn .bashrc đến mặc định của hệ thống:

cp /etc/skel/.bashrc ~
Will avatar
lá cờ id
Câu trả lời hữu ích ... đã cho tôi sự tự tin để thực hiện sao chép từ máy tính này sang máy tính khác khi biết rằng tôi có thể khôi phục về mặc định nếu nó bị lỗi.
Will avatar
lá cờ id
cảm ơn, đã nâng cấp cả hai câu trả lời và chấp nhận một câu trả lời.
Điểm:0
lá cờ id

Cảm ơn cả hai câu trả lời ở trên - chỉ để xác nhận rằng tôi đã thử từ máy tính xách tay này sang máy tính xách tay khác và nó hoàn toàn ổn và đã khắc phục được các lỗi.

Tôi không buồn tạo bản sao lưu của tệp cũ vì dù sao nó cũng bị hỏng và tôi biết (nhờ câu trả lời của @vanadium) cách khôi phục từ mặc định hệ thống nếu nó bị lỗi. Đối với tôi, thật hữu ích khi có thể làm điều này vì nó bảo tồn các bí danh của tôi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.