Điểm:0

Làm cách nào để sửa lỗi cú pháp bash trong khi thiết lập chủ đề Solarized cho WSLtty?

lá cờ br

Tôi đang thử thiết lập các chủ đề Solarized cho thiết bị đầu cuối WSLtty, vì vậy tôi đã làm theo hướng dẫn 2 bước này.

Tôi không muốn cài đặt cá, vì vậy tôi chỉ tập trung vào 2 bước đầu tiên.

Nhưng khi tôi chạy:

eval (dircolors -c ~/.dir_colors | sed 's/>&\/dev\/null$//')

nó mang lại cho tôi lỗi này:

-bash: lỗi cú pháp gần mã thông báo không mong muốn `dircolors'
lá cờ hr
Liên kết của bạn không hoạt động đối với tôi, tuy nhiên, cú pháp *thay thế lệnh* trong bash là `$(command)` chứ không phải `(command)` của shell shell - xem ví dụ [Fish tương đương với ký hiệu bash $(command) ](https://stackoverflow.com/a/20918951/4440445)
Godspeed avatar
lá cờ br
Tôi đã thay đổi liên kết ngay bây giờ. Tôi đã chạy cùng một lệnh như thế này eval $(dircolors -c ~/.dir_colors | sed 's/>&\/dev\/null$//') và hiện tại nó đang báo lỗi cho tôi setenv: command not found
muru avatar
lá cờ us
Có vẻ như điều đó được cho là chạy trong `fish`? Bài báo đặt nó trong `~/.config/fish/conf.d/omf.fish`. Bạn muốn điều gì xảy ra với lệnh đó?
Godspeed avatar
lá cờ br
Tôi muốn thiết lập chủ đề năng lượng mặt trời cho thiết bị đầu cuối wsltty của mình. Lệnh sẽ được sử dụng để cài đặt các màu cơ bản.
pLumo avatar
lá cờ in
Hướng dẫn này rõ ràng là dành cho `fish`, vì vậy không hoạt động trong `bash`. Bạn sẽ không chạy mã `python` với `php`.
Artur Meinild avatar
lá cờ vn
Tôi không tin rằng có bất kỳ điểm nào trong việc chạy lệnh đó.
Điểm:0
lá cờ vn

Tôi muốn đề xuất rằng bạn là:

  • Làm theo hướng dẫn cách đây gần 4 năm để thiết lập WSL của bạn. WSL mới chỉ khoảng 6 tuổi và rất nhiều thứ đã thay đổi trong vài năm qua. Ngay cả vỏ cá cũng đã phát triển khá nhiều trong khoảng thời gian đó (mặc dù những thay đổi của cá không phải là một phần vấn đề của bạn).

  • Cố gắng "bỏ qua một số bước", chẳng hạn như việc sử dụng vỏ cá. Hướng dẫn cụ thể đó được viết rõ ràng có tính đến cá và như đã chỉ ra trong các nhận xét, ít nhất lệnh đó được viết bằng cú pháp cá, thay vì Bash/POSIX.

  • Hỏi về WSLtty, một chương trình Windows, trên AskUbfox.com. Chúng tôi coi các câu hỏi về WSL là chủ đề ở đây miễn là chúng liên quan đến Ubuntu, nhưng bạn sẽ tìm thấy kiến ​​thức chuyên môn về Ubuntu ở đây nhiều hơn WSL và thậm chí ít hơn về WSLtty.

    Điều đó nói rằng, chuyên môn về WSLtty có lẽ đang bị thiếu hụt ở hầu hết mọi nơi hiện nay. Đây là một tác dụng phụ khác của thực tế là mọi thứ đã rất khác 4 năm trước. Trước đó, tôi đã sử dụng WSLtty, coi đó là tùy chọn đầu cuối tốt nhất cho WSL và có thể đã cung cấp hỗ trợ về nó.


Vì vậy, hãy để tôi đề xuất một số giải pháp thay thế, vì tôi không thể giúp bạn (và rất có thể không ai ở đây trên Ask Ubuntu có thể) trên WSLtty:

Đầu tiên, mặc dù WSLtty rất tuyệt vời vào thời điểm đó, nhưng hầu hết thế giới WSL hiện đã chuyển sang thiết bị đầu cuối Windows đã được khoảng một vài năm. Thiết bị đầu cuối Windows là:

  • Từ Microsoft
  • Mã nguồn mở (Kho lưu trữ Github)
  • Có thể tự động phát hiện và định cấu hình cấu hình cho WSL (cũng như PowerShell, CMD, Git Bash, v.v.) khi khởi chạy
  • Tích cực phát triển
  • Được thiết kế để thay thế cho Windows Console Host kế thừa (thiết bị đầu cuối khởi chạy khi bạn vừa chạy "Ubuntu" trong WSL từ Menu Bắt đầu theo mặc định trong Windows 10).
  • Có thể định cấu hình làm thiết bị đầu cuối mặc định trong Windows 11
  • Tính năng phong phú: theo thẻ, tổ hợp phím có thể định cấu hình, tích hợp sẵn phối màu (bao gồm cả ánh sáng và bóng tối được năng lượng mặt trời hóa), v.v.

Nắm bắt phần cuối cùng đó? Các chủ đề năng lượng mặt trời được bao gồm theo mặc định trong Windows Terminal. Bạn có thể dễ dàng chuyển đổi bằng cách:

  • Thay đổi mặc định Xuất hiện cài đặt cho tất cả các cấu hình thiết bị đầu cuối
  • thay đổi Xuất hiện cài đặt cho một cấu hình cụ thể
  • Bắt đầu từ dòng lệnh với một bảng màu cụ thể
  • Điều khiển+Sự thay đổi+P để hiển thị Bảng lệnh, tìm kiếm "Lược đồ màu" và chọn nó qua GUI.
  • Tạo liên kết phím trực tiếp để chuyển bảng màu theo sở thích của bạn

Điều duy nhất dường như còn thiếu là cách thực hiện tích hợp sẵn từ dòng lệnh. Chắc chắn là có thể bằng cách tạo một tiện ích để sửa đổi cài đặt.json trực tiếp, vì Windows Terminal tự động phát hiện các thay đổi. Nó không được tích hợp sẵn.


Bạn có thể hoặc không cần dircolors cơ chế. Trước tiên, hãy dùng thử chỉ với các chủ đề Solarized cấp cao nhất. Nếu bạn thấy bạn muốn sử dụng dircolors phối màu, bạn sẽ tìm thấy các hướng dẫn chung (không phải cá) trên dự án đó Đọc Github. Nó dường như chỉ đơn giản là:

eval `dircolors/path/to/dircolorsdb`

Lưu ý rằng việc sử dụng backticks để thay thế lệnh không được khuyến khích (lịch sự câu trả lời này), vì vậy tôi khuyên bạn nên:

eval $(dircolors/path/to/dircolorsdb)

Tất nhiên, với sự điều chỉnh đối với tên của chủ đề bạn đang chuyển sang.


Lưu ý bên lề: Bản thân tôi thích vỏ cá, nhưng tôi khuyên những người mới bắt đầu nên tìm hiểu vỏ tuân thủ POSIX hơn trước. Cú pháp vỏ cá là không phải tuân thủ POSIX; nói cách khác, nó sẽ không hoạt động trong các trình bao khác và cú pháp tiêu chuẩn của các trình bao khác (thường) sẽ cần các chỉnh sửa để hoạt động trong cá.

Điều đó nói rằng, có lý do chính đáng cho sự không tương thích đó. Về mặt chủ quan, cú pháp vỏ cá là tốt hơn (hoặc ít nhất là tốt như) POSIX trong hơn 95% trường hợp -- Đôi khi nhiều tốt hơn. Tuy nhiên, đôi khi một tính năng câu cá bị thiếu sẽ khiến mọi thứ trở nên tồi tệ hơn. khó hơn.

Điều tuyệt vời khi (cuối cùng) học và biết cả hai là bạn luôn có thể chạy đánh đập các tập lệnh bên trong cá khi bạn cần quay lại cú pháp "tiêu chuẩn".

Nói cách khác, bạn có thể đang làm đúng bằng cách "bỏ qua" cá ngay bây giờ, nhưng hãy quay lại và kiểm tra khi bạn cảm thấy thoải mái hơn trong Linux.


Ghi chú bên lề/khuyến nghị #2: Kiểm tra người cũ, một sự thay thế hiện đại cho ls. Theo mặc định, nó được "tô màu" nhiều hơn.

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