Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

Đi ngang qua thế giới của Linux BASH Scripting - Phần III

Các bài viết trước sau của ‘ Shell Scripting ‘Sê-ri được đánh giá cao và do đó tôi viết bài này để mở rộng quá trình học tập không bao giờ kết thúc.

Đi ngang qua thế giới của Linux BASH Scripting - Phần III
  1. Hiểu Mẹo Ngôn ngữ Kịch bản Shell Cơ bản của Linux - Phần I
  2. 5 Tập lệnh Shell cho Người mới sử dụng Linux để Học Lập trình Shell - Phần II
Từ khóa Bash

Một từ khóa là một từ hoặc ký hiệu có ý nghĩa đặc biệt đối với ngôn ngữ máy tính. Các ký hiệu và từ sau đây có ý nghĩa đặc biệt đối với Bash khi chúng không được trích dẫn và là từ đầu tiên của lệnh.

! esac select} case fi then [[do for Until]] done function while elifif time else in {

Không giống như hầu hết các ngôn ngữ máy tính, Bash cho phép từ khóa được sử dụng làm tên biến mặc dù điều này có thể làm cho các tập lệnh khó đọc. Để giữ cho các tập lệnh dễ hiểu, không nên sử dụng các từ khóa cho các tên biến.

Một lệnh được triển khai trong shell là $ (yêu cầu). Bạn có thể phải bao gồm đường dẫn đầy đủ của lệnh. ví dụ: $ (/ bin / date) , để thực hiện chính xác.

Bạn có thể biết đường dẫn của chương trình cụ thể bằng cách sử dụng ‘ whereis ' yêu cầu. ví dụ: ngày ở đâu

 [admin@wsxdn.com /] # whereis dateate:/ bin / date /usr/share/man/man1/date.1.gz 

Vậy là đủ cho bây giờ. Bây giờ chúng ta sẽ không nói nhiều về những lý thuyết này. Đến với Scripts.

Di chuyển thư mục làm việc hiện tại

Di chuyển từ thư mục làm việc hiện tại lên bất kỳ cấp nào bằng cách chỉ cung cấp giá trị số ở cuối tập lệnh trong khi thực thi.

 #! / bin / bash LEVEL =$ 1 for ((i =1; i <=LEVEL; i ++)) do CDIR =.. / $ CDIR done cd $ CDIR echo "Bạn đang ở:" $ PWD executive / bin / bash  

Lưu các mã trên dưới dạng “ up.sh “, Trên máy tính để bàn của bạn. Làm cho nó có thể thực thi được ( chmod 755 up.sh ). Chạy:

./up.sh 2 (sẽ Di chuyển thư mục làm việc hiện tại lên hai cấp).
./up.sh 4 (sẽ Di chuyển thư mục làm việc hiện tại lên bốn cấp).

Sử dụng và Khu vực Ứng dụng

Trong các tập lệnh lớn hơn có chứa thư mục bên trong thư mục bên trong… chứa thư viện , mã nhị phân , biểu tượng , tệp thực thi , v.v. ở vị trí khác, Bạn với tư cách là nhà phát triển có thể triển khai tập lệnh này để di chuyển đến vị trí mong muốn theo cách rất tự động.

Lưu ý :For là một vòng lặp trong tập lệnh trên và nó sẽ tiếp tục thực thi cho đến khi các giá trị đúng với vòng lặp.

Đầu ra mẫu
 [admin@wsxdn.com /] # chmod 755 up [admin@wsxdn.com /] # ./up.sh 2 Bạn đang ở:/[admin@wsxdn.com /] # ./up.sh 4 Bạn ở:/ [admin@wsxdn.com /] # 

Tải xuống up.sh

Tạo một tệp hoặc thư mục ngẫu nhiên

Tạo một tệp (thư mục) ngẫu nhiên không có khả năng bị trùng lặp.

 #! / bin / bashecho "Xin chào $ USER"; echo "$ (uptime)">> "$ (date)". txtecho "Tệp của bạn đang được lưu vào $ (pwd)" 

Đây là một tập lệnh đơn giản nhưng nó hoạt động không đơn giản như vậy.

  1. tiếng vang ‘:In mọi thứ được viết trong dấu ngoặc kép.
  2. $ ‘:Là một biến shell.
  3. >> ‘:Đầu ra được chuyển hướng đến đầu ra của ngày theo sau là txt phần mở rộng.

Chúng tôi biết đầu ra của ngày lệnh là ngày thời gian trong giờ , phút, thứ hai cùng với năm . Do đó, chúng tôi có thể nhận được đầu ra trên một tên tệp có tổ chức mà không có cơ hội trùng lặp tên tệp. Nó có thể rất hữu ích khi người dùng cần tệp được tạo bằng tem thời gian để tham khảo trong tương lai.

Đầu ra mẫu
 [admin@wsxdn.com /] # ./randomfile.sh Xin chào máy chủ Tệp của bạn đang được lưu vào / home / server / Desktop 

Bạn có thể xem tệp được tạo trên máy tính để bàn với Ngày của hôm nay và giờ hiện tại.

 [admin@wsxdn.com /] # nano Sat \ Jul \ 20 \ 13 \:51 \:52 \ IST \ 2013.txt 13:51:52 lên 3:54, 1 người dùng, tải trung bình:0,09, 0,12, 0,08 

Dưới đây đưa ra cách triển khai chi tiết hơn của tập lệnh trên, tập lệnh này hoạt động theo nguyên tắc trên và rất hữu ích trong việc thu thập thông tin mạng của Linux máy chủ.

Tải xuống randomfile.sh

Tập lệnh thu thập thông tin mạng

Thu thập thông tin mạng trên Linux người phục vụ. Tập lệnh quá lớn và không thể đăng toàn bộ mã và đầu ra của tập lệnh ở đây. Vì vậy, tốt hơn hết bạn có thể tải xuống tập lệnh bằng liên kết tải xuống bên dưới và tự kiểm tra.

Lưu ý :Bạn có thể cần cài đặt lsb-core gói và các gói yêu cầu khác và sự phụ thuộc. Apt hoặc Yum các gói yêu cầu. Rõ ràng là bạn cần phải là root để chạy tập lệnh vì hầu hết các lệnh được sử dụng ở đây được định cấu hình để chạy dưới dạng root .

Đầu ra mẫu
 [admin@wsxdn.com /] # ./collectnetworkinfo.sh Thông tin cấu hình mạng được ghi tới  network.20-07-13.info.txt  . Vui lòng gửi tệp này qua email đến  admin@wsxdn.com_provider.com  . ktop 

Bạn có thể thay đổi địa chỉ email ở trên trong tập lệnh của mình để gửi địa chỉ email cho bạn. Tệp được tạo tự động có thể được xem.

Tải xuống collectnetworkinfo.sh

Tập lệnh chuyển đổi chữ UPPERCASE thành chữ thường

Tập lệnh chuyển đổi UPPERCASE thành chữ thường và chuyển hướng đầu ra đến tệp văn bản “ small.txt ”Có thể được sửa đổi theo yêu cầu.

 #! / bin / bash echo -n "Nhập Tên tệp:" đọc tên tệp nếu [! -f $ fileName]; sau đó echo "Tên tệp $ fileName không tồn tại" thoát 1 fi tr '[A-Z]' '[a-z]' <$ fileName>> small.txt 

Tập lệnh ở trên này có thể chuyển đổi trường hợp của một tệp có độ dài bất kỳ chỉ bằng một cú nhấp chuột từ chữ hoa thành chữ thường và ngược lại nếu được yêu cầu, với một chút sửa đổi.

Đầu ra mẫu
 [admin@wsxdn.com /] # ./convertlowercase.sh Nhập Tên tệp:a.txt Tệp ban đầu:ABCDEFGHIJK ... 

Tệp mới ( small.txt ) đầu ra:

 abcdefghijk ... 

Tải xuống convertlowercase.sh

Chương trình Máy tính Đơn giản

 #! / bin / bash clear sum =0 i ="y" echo "Nhập một số không." đọc n1 echo "Nhập số thứ hai." read n2 while [$ i ="y"] do echo "1.Phép bổ sung" echo "2.Subtraction" echo "3.Phép nhân" echo "4.Phân khu" echo "Nhập sự lựa chọn của bạn" đọc ch case $ ch trong 1) sum =`expr $ n1 + $ n2` echo" Sum ="$ sum;; 2) sum =`expr $ n1 - $ n2` echo" Sub ="$ sum;; 3) sum =`expr $ n1 \ * $ n2` echo" Mul ="$ sum;; 4) sum =`expr $ n1 / $ n2` echo" Div ="$ sum;; *) echo "Lựa chọn không hợp lệ";; esac echo "Bạn có muốn tiếp tục (y / n)) không?" đọc i if [$ i! ="y"] rồi thoát fi xong 
Đầu ra mẫu
 [admin@wsxdn.com /] # ./simplecalc.sh Nhập một số không. 12 Nhập số thứ hai. 14 1. Phép cộng 2. Phép cộng 3. Phép nhân 4. Phép chia Nhập sự lựa chọn của bạn 1 Tổng =26 Bạn có muốn tiếp tục (y / n)) không? y1. Phép cộng 2. Phép cộng 3. Phép nhân 4. Phép chia Nhập lựa chọn của bạn 3 mul =14812Bạn có muốn tiếp tục (y / n)) không? n 

Tải xuống simplecalc.sh

Vậy bạn có thấy việc tạo một chương trình mạnh mẽ như các phép tính đơn giản như vậy dễ dàng như thế nào không. Nó không phải là cuối cùng. Chúng tôi sẽ biên soạn thêm ít nhất một bài nữa của loạt bài này, bao gồm các góc nhìn rộng từ quan điểm quản trị.

Đó là tất cả cho bây giờ. Là người đọc và là nhà phê bình giỏi nhất, đừng quên cho chúng tôi biết mức độ và những gì bạn thích trong bài viết này và những gì bạn muốn xem trong bài viết trong tương lai. Bất kỳ câu hỏi nào rất được hoan nghênh trong bình luận. Cho đến lúc đó, hãy khỏe mạnh , an toàn điều chỉnh . Thích Chia sẻ chúng tôi và giúp chúng tôi lan tỏa.