Nơi nào bạn tìm thấy các tệp nguồn Bash của các chương trình trong Linux / Mac OSX?


1

Tôi hiện đang viết một số phương thức tiện lợi cho thiết bị đầu cuối của mình trong bash_profile của tôi và chắc chắn nếu những gì tôi đang viết là "cách tốt nhất". Tôi nghĩ một cách tốt để xác minh xem những gì tôi đang làm có đúng hay không sẽ là tìm một số mã nguồn của các chương trình được thiết lập nhiều hơn và xem cách chúng thực hiện.

Câu hỏi của tôi là, tôi có thể tìm mã này ở đâu trên máy Mac của mình? Một ví dụ là, với Macports được cài đặt, mã nguồn mở bảng điều khiển tương tác cổng ở đâu khi tôi không nhập gì ngoài "cổng" trong vỏ của mình?

(Tôi đã thêm Linux vào tiêu đề mặc dù tôi đang dùng Mac vì tôi cho rằng câu trả lời sẽ giống nhau cho cả hai)

Chỉnh sửa: Câu trả lời tôi đang tìm kiếm là về mặt thư mục nào liên quan đến các chương trình tôi sẽ tìm thấy các tập lệnh unix của chúng.

Câu trả lời:


2

Nhiều lệnh được biên dịch mã C (hoặc các ngôn ngữ khác như C ++ hoặc Objective C) thay vì các tập lệnh shell (một số có thể là Perl, AWK, Python, v.v.). Bạn có thể sử dụng filelệnh để tìm ra chúng là gì.

$ file /bin/grep
/bin/grep: ELF 32-bit LSB executable ...
$ file /bin/which
/bin/which: POSIX shell script text executable

Bạn có thể sử dụng một cái gì đó như thế này để tìm các kịch bản shell trên hệ thống của bạn:

find /bin -executable -type f -exec bash -c 't=$(file {}); if [[ $t =~ shell\ script ]]; then echo {}; fi' \;

Thay thế các thư mục bắt đầu khác nhau để tìm kiếm các phần khác nhau của hệ thống tập tin của bạn. Sử dụng -perm -111thay vì -executablenếu bạn findkhông có cái sau.


0

Các kịch bản Bash là tốt, trong bash, còn gọi là văn bản thuần túy, bạn có thể mở chúng trong một trình soạn thảo văn bản.
Tuy nhiên, hầu hết các công cụ * nix được viết bằng C / C ++.
Tôi đặc biệt khuyên bạn nên đọc Lập trình BASH - Giới thiệu HƯỚNG DẪN , Hướng dẫn Bash-Scripting nâng cao và hướng dẫn bash4 này .

Và như một sở thích cá nhân, tôi cũng khuyên bạn nên kiểm tra python .


Tôi biết họ ở dạng văn bản đơn giản, nhưng ở đâu ? Tôi không lo lắng về việc học cú pháp, nhưng tôi muốn có thể đọc nguồn để tôi có thể biết được cách các tập lệnh được viết và so sánh chúng với cách chúng chạy. Hướng dẫn Bash-Scripting nâng cao đó có vẻ rất hữu ích - cảm ơn vì điều đó.
AndrewKS

Nếu chúng được cài đặt và trong đường dẫn, bạn chỉ cần nhập 'tên tập lệnh nào', nếu chúng không thực thi / trong đường dẫn hãy thử 'định vị tên tập lệnh'.
OneOfOne

0

Nếu tôi đọc chính xác, bạn đang tìm kiếm các tập tin "chính" hoặc .bashrc?

Bashrc chính được đặt ở đây / etc / bashrc và riêng của bạn sẽ được ẩn trong thư mục chính của bạn ~ / .bashrc, bản sao thư mục chính đến từ /etc/skel/.bashrc

Bây giờ lệnh "port" chỉ là một liên kết đến / usr / bin / port như bạn có thể thấy bằng cách vào / usr / bin và cuộn qua các tệp. Mỗi cái sẽ hoạt động vì $ PATH của bạn có thể chuyển đổi được (có thể được đặt trong bashrc) Nếu bạn muốn xem $ PATH của bạn chỉ đơn giản là nhập nó vào thiết bị đầu cuối.

Các hướng dẫn này dành cho Linux và có thể không giống với máy Mac của bạn.

Tôi cũng đề nghị xem xét các liên kết của OneOfone.

Trân trọng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.