Tao script trong linux

Trong cơ hội mới này (Mục số 8) trên "Tìm hiểu Shell Scripting" chúng ta sẽ tập trung nhiều vào lý thuyết hơn là thực hành. nghĩa là, chúng tôi sẽ không cài đặt hoặc nghiên cứu mã hoặc cài đặt một phần mềm (gói) cụ thể, mà thay vào đó chúng tôi sẽ đi sâu vào thế giới của Shell Scripting nói một cách chính xác, thông qua câu trả lời cho các câu hỏi nhỏ nhưng trực tiếp, được hiển thị bên dưới, để làm rõ cho đến nay phần lớn những gì đã được dạy, không đề cập trực tiếp đến mã nội bộ được lập trình:

Tao script trong linux
Shell trong Hệ điều hành GNU / Linux là gì?

Shell trong tiếng Tây Ban Nha có nghĩa là CONCHA (vỏ, bọc, bảo vệ). Áp dụng thuật ngữ này trong Hệ điều hành đề cập đến trình thông dịch lệnh của Hệ điều hành. Nói chung, nó là một giao diện văn bản hiệu suất cao, được biểu hiện dưới dạng một Terminal (Bảng điều khiển) và về cơ bản phục vụ 3 lĩnh vực công việc quan trọng:

1.- Quản lý hệ điều hành,
2.- Chạy các ứng dụng và tương tác với chúng, và
3.- Phục vụ như một môi trường lập trình cơ bản.

Nhiều SO, GNU / Linux chúng vẫn được quản lý hiệu quả hơn bằng cách chỉnh sửa các tệp cấu hình của chúng, thông qua Terminal. Theo nguyên tắc chung, chúng được tìm thấy trên đường dẫn đích: «/Vân vân"và trong các thư mục cụ thể cho từng ứng dụng. Ví dụ, chương trình Lilo (viết tắt của Linux Loader) được định cấu hình bằng cách chỉnh sửa tệp văn bản nằm và được gọi là "/Etc/lilo/lilo.conf". Trong trường hợp chương trình (ứng dụng), chúng được khởi chạy (thực thi / kích hoạt) bằng cách viết tên của tệp thực thi, nếu nó được tìm thấy trong đường dẫn (đường dẫn mặc định) cho tất cả tệp thực thi, như bình thường "/ Usr / bin" hoặc bằng cách nhập tên của tệp thực thi trước: ./, từ thư mục nơi chúng được đặt.

Tất cả những điều này đều được mọi người sử dụng Shell biết đến. Tuy nhiên, khả năng của nó như một môi trường lập trình không được nhiều người biết đến và đánh giá cao. Các tập lệnh (chương trình) được tạo trong Shell không cần phải được biên dịch. Shell diễn giải chúng từng dòng một. Do đó, chúng được biết đến hoặc được đặt tên là Shells Scripts và có thể bao gồm từ các lệnh đơn giản đến chuỗi hướng dẫn phức tạp để khởi động hệ điều hành. Nói chung, có một cú pháp khá rõ ràng (rõ ràng) (xây dựng, sắp xếp), biến chúng thành một điểm khởi đầu tốt để bắt đầu trong thế giới lập trình.

Shell Scripting là gì?

Đó là kỹ thuật (kỹ năng / sự khéo léo) thiết kế và tạo Script (tệp tự động hóa tác vụ) bằng cách sử dụng Shell (tốt nhất là) của Hệ điều hành hoặc Trình soạn thảo văn bản (Đồ họa hoặc Thiết bị đầu cuối). Đây là một loại ngôn ngữ lập trình được thông dịch chung. Có nghĩa là, trong khi hầu hết các chương trình được biên dịch (mã hóa), bởi vì chúng được chuyển đổi vĩnh viễn thành một mã cụ thể (đặc biệt) trước khi chúng có thể được thực thi (quá trình biên dịch), một tập lệnh shell vẫn ở dạng ban đầu (mã của nó nguồn văn bản) và được giải thích lệnh bằng lệnh mỗi khi chúng được thực thi. Mặc dù có thể các script cũng có thể được biên dịch, mặc dù nó không phải là thông thường.

Đặc điểm của các chương trình dựa trên lập trình theo Shell Scripting là gì?

1.- Chúng dễ viết (chương trình) hơn, nhưng với chi phí xử lý cao hơn khi chúng được thực thi.

2.- Họ sử dụng trình thông dịch thay vì trình biên dịch để chạy

3.- Chúng có mối quan hệ giao tiếp với các thành phần được viết bằng ngôn ngữ lập trình khác.

4.- Các tệp chứa chúng được lưu trữ dưới dạng văn bản thuần túy.

5.- Thiết kế cuối cùng (mã) thường nhỏ hơn so với thiết kế tương đương trong một ngôn ngữ lập trình đã biên dịch.

Các loại ngôn ngữ phổ biến nhất trong Shell Scripting là gì?

1.- Ngôn ngữ điều khiển tác vụ và trình bao:

a) cmd.exe (Windows NT, Windows CE, OS / 2),
b) LỆNH.COM (DOS, Windows 9x),
c) csh, Bash, AppleScript, sh,
d) JScript qua Windows Script Host,
e) VBScript thông qua Máy chủ Windows Script,
f) REXX, trong số nhiều loại khác.

2.- GUI Scripting (Ngôn ngữ Macro):

a) Phím nóng tự động,
b) Tự động,
c) Mong đợi,
d) Máy tự động, trong số những người khác.

3.- Ngôn ngữ kịch bản của các ứng dụng cụ thể:

a) ActionScript trong Flash,
b) MATLAB,
c) tập lệnh mIRC,
d) QuakeC, trong số những người khác.

4.- Lập trình web (cho các trang động):

a) Về phía máy chủ:

- PHP,
- ASP (Các trang máy chủ đang hoạt động),
- Trang JavaServer,
- ColdFusion,
- IPTSCRAE,
- Dây cột ngựa,
- Tập lệnh MIVA,
- SMX,
- XSLT, trong số những người khác.

b) Về phía khách hàng:

- JavaScript,
- JScript,
- VBScript,
- Tcl, trong số những người khác.

5.- Ngôn ngữ xử lý văn bản:

- AWK,
- Perl,
- Khát,
- XSLT,
- Bash, trong số những người khác.

6.- Ngôn ngữ động mục đích chung:

- APL,
- Boo,
- Dylan,
- Ferit,
- Groovy,
- IO,
- Lisp,
- Lua,
- MUMPS (M),
- NewLISP,
- Nuva,
- Perl,
- PHP,
- Python,
- Ruby,
- Kế hoạch,
- Smalltalk,
- Thẻ SuperCard,
- Tcl,
- Cách mạng, trong số những người khác.

Bash trong GNU / Linux là gì?

Nó là một chương trình máy tính có chức năng diễn giải các lệnh. Nó dựa trên Vỏ Unix và nó hỗ trợ POSIX. Nó được viết cho dự án GNU và là trình bao mặc định cho hầu hết các bản phân phối Linux.

Tập lệnh Shell trong GNU / Linux là gì?

Tập lệnh Shell chúng cực kỳ hữu ích. Bạn nên viết những nhu cầu mà chúng tôi có và sau đó chỉnh sửa các tập lệnh thực hiện công việc này cho chúng tôi. Bây giờ, đã đến lúc tự hỏi chính xác kịch bản là gì. Nó là một tệp văn bản, chứa một loạt các lệnh shell, được hệ thống thực hiện theo thứ tự, từ trên xuống dưới. Để chỉnh sửa chúng, bạn chỉ cần một trình soạn thảo văn bản, chẳng hạn như Emacs, Vi, Nano, trong số nhiều trình chỉnh sửa hiện có. Chúng được lưu với một phần mở rộng “.sh” (hoặc không có nó, trong một số trường hợp) và được chạy từ Shell bằng cách sử dụng lệnh: sh script name.sh. Các tập lệnh hoạt động giống như các lệnh shell.

Phương pháp giảng dạy mà cá nhân tôi sử dụng "Tìm hiểu Shell Scripting" Nó rất thực tế và trực tiếp, đó là kiểm tra một Script đầy đủ chức năng, phân tách nó, nghiên cứu nó từng câu, từng dòng, từng lệnh, từng biến một, cho đến khi bạn hiểu cách thức hoạt động riêng biệt của từng phần tử và cách nó tham gia vào mã. chung. Đó là loại Reverse Engineering hoặc Software Reengineering. Tất cả điều này nhằm thu thập kiến ​​thức, cải thiện (tối ưu hóa) và chia sẻ kiến ​​thức, vì lợi ích tập thể và quản trị tốt hơn và tối ưu hóa Hệ điều hành miễn phí.

Nó chạy và hoạt động như thế nào trong GNU / Linux Shell?

Bước đầu tiên khi làm việc với Shell là chạy một shell. Những gì có vẻ như một sự thật đều có lý do của nó. Trong một số bản phân phối GNU / Linux hướng đến người dùng cuối, shell khá ẩn. Thông thường, nó được gọi là: Konsole, Terminal, Terminal X hoặc một cái gì đó tương tự. Một tùy chọn khác là sử dụng bảng điều khiển ảo. Sử dụng: Ctrl + Alt + f1, hoặc f2, hoặc f3 đến f7 hoặc f8, tùy thuộc vào bản phân phối GNU / Linux mà bạn sử dụng. Shell được sử dụng nhiều nhất trong GNU / Linux là Bash, mặc dù có nhiều loại khác, chẳng hạn như ksh hoặc C Shell. Trong trường hợp của tôi, rất đặc biệt đối với các ấn phẩm của tôi, tôi sử dụng Bash Shell.

Đưa ra một Script được tạo trong Bash Shell được gọi là hello_world.sh những điều sau có thể được giải thích:

Nội dung:

#! / bin / bash
echo xin chào thế giới

Phá vỡ:

Dòng đầu tiên của script
#! / bin / bash

Cho biết chương trình mà tập lệnh sẽ chạy. Nếu không tìm thấy chương trình, sẽ xảy ra lỗi.

Dòng thứ hai của script
echo xin chào thế giới

Thực hiện lệnh echo với các đối số Hello World, làm cho chúng được hiển thị trên màn hình.

Chấp hành: Chúng ta có thể chạy script theo hai cách

Gọi trình thông dịch chạy tập lệnh:
# bash hello_world.sh

Nó cũng có thể được chạy như:
# sh xin chào_world.sh

Nhưng vì Shell chính xác của bạn không được gọi, nó có thể hoạt động một nửa. Lý tưởng nhất, Shell được gọi trong dòng đầu tiên là Shell được sử dụng để thực thi nó.

Bạn cũng có thể chạy tập lệnh trực tiếp như sau:
# ./hello_world.sh

Lưu ý: ./ cho biết chạy từ thư mục hiện tại.

Những gì còn lại được phân tích là mã mà bạn chèn vào đó. Tôi hy vọng rằng bạn luôn thích (một số hơn những người khác, tùy thuộc vào nhu cầu học tập và kiến ​​thức) loạt Shell Scripting.

Có rất nhiều liên kết tốt về chủ đề này trên web, nhưng tôi để lại cho bạn hướng dẫn nhỏ này nằm ngay tại đây FromLinux.net Và cái này khác Hướng dẫn bên ngoài.