Điểm:6

Ubuntu của tôi hiển thị shell script echo theo một cách kỳ lạ

lá cờ cl

Xin chào, tôi có một tệp có tập lệnh Shell giống như thế này

#!/bin/bash 
ngày hôm nay=$(ngày)
echo "Hôm nay là ngày ${todayDate}. chúc cuối tuần vui vẻ!"

nhưng khi tôi gọi tệp này trong thiết bị đầu cuối Ubuntu của mình, tôi nhận được kết quả như vậy

. cuối tuần vui vẻ! eb 12 22:29:00 CET 2022

Tại sao nó không hiển thị

Hôm nay là Thứ Bảy, ngày 12 tháng 2, 22:31:55 CET 2022. chúc cuối tuần vui vẻ!

?? Hình ảnh bên dưới là bằng chứng cho thấy Ubuntu hiển thị tiếng vang lạ trong thiết bị đầu cuối

nhập mô tả hình ảnh ở đây

Ai đó đã yêu cầu tôi tải lên kết quả của ls -alh. Đây là kết quả

tổng số 0
drwx------ 1 tên người dùng tên người dùng 512 ngày 12 tháng 2 22:07
drwx------ 1 tên người dùng tên người dùng 512 ngày 12 tháng 2 21:57
-rwx------ 1 tên người dùng tên người dùng 77 ngày 12 tháng 2 22:41 4Bbash

phiên bản hình ảnh: nhập mô tả hình ảnh ở đây

pLumo avatar
lá cờ in
có thể tệp của bạn có kết thúc Dòng Windows?
game lover avatar
lá cờ cl
@pLumo thực sự tôi không biết kết thúc Windows Line là gì .. Tôi chỉ viết mã và cố gắng chạy tệp
Merajul Arefin Pial avatar
lá cờ br
Làm thế nào bạn chạy này? Bạn có thể thêm đầu ra lệnh của ```ls -alh``` trong thư mục chứa tập lệnh này không?
game lover avatar
lá cờ cl
@MerajulArefinPial Tôi đã đăng kết quả ls -alh của mình.
Merajul Arefin Pial avatar
lá cờ br
giải pháp của @pLumo có hiệu quả không?
game lover avatar
lá cờ cl
@MerajulArefinPial Tôi đang cố gắng tìm cách thay đổi kết thúc dòng cửa sổ thành kết thúc dòng unix trong notepad..
pLumo avatar
lá cờ in
Tôi không nghĩ Notepad có thể làm được điều đó, hãy sử dụng một trình soạn thảo văn bản phù hợp, không phải phần mềm nhảm nhí như vậy, vd. Notepad ++ hoặc VSCode hoặc hơn thế.
game lover avatar
lá cờ cl
@pLumo thật đáng buồn. Được rồi, tôi sẽ thử tải xuống notepad ++
pLumo avatar
lá cờ in
Hãy hỏi Microsoft tại sao phần mềm của họ vẫn tệ như 30 năm trước.
pLumo avatar
lá cờ in
Xem tại đây để biết notepad ++ https://askubfox.com/a/645030/631600
Điểm:12
lá cờ in

Tệp của bạn có kết thúc Dòng Windows \r\n.

  • \ r có nghĩa là "Quay lại vận chuyển" (quay lại điểm bắt đầu của hàng)
  • \N có nghĩa là "Nạp dòng" (đi tới dòng tiếp theo).

Unix chỉ sử dụng \N như kết thúc dòng.

Do đó, biến của bạn cuộc hẹn hôm nay sẽ bao gồm một \ r cuối cùng. Thao tác này sẽ đặt con trỏ trở lại vị trí đầu tiên và văn bản sau nó sẽ ghi đè lên văn bản trước đó.

Đặt trình soạn thảo văn bản của bạn để sử dụng Unix Line Endings (Line Feed) hoặc sử dụng dos2unix để sửa tập tin của bạn. Kiểm tra cái này hoặc cái này.

Đă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.