Thứ sáu, 09/08/2013 | 00:00 GMT+7

Cách viết Tập lệnh Shell đơn giản trên VPS


Giới thiệu

Hướng dẫn này nhằm dạy bạn cách viết các kịch bản shell cho nhiều mục đích nhất. Các tập lệnh Shell được dùng để chạy nhiều lệnh, một lệnh duy nhất với các đối số khó và mở rộng hoặc các giao diện thân thiện với user hơn để phân phối công việc của bạn. Về cơ bản, nó làm cho cuộc sống của bạn dễ dàng hơn bằng cách tự động hóa những thứ bạn phải làm thủ công mà không có nó.

Cài đặt một folder

Trước khi bạn bắt đầu viết tập lệnh shell của bạn , bạn nên chỉ định nó là một folder . Ta khuyến nghị rằng, đối với các script cá nhân, bạn nên thực hiện lại tại ~ / bin. Để tạo folder đó, hãy chạy:

mkdir ~/bin

Và để làm cho các tập lệnh chạy từ mọi nơi trong hệ thống, hãy chỉnh sửa / etc / pro file bằng lệnh:

sudo nano /etc/profile

Sau đó, thêm các dòng sau vào cuối file :

PATH=$PATH:$HOME/bin  export PATH

Nhớ CTRL + O để lưu và CTRL + X để thoát. Bạn có thể áp dụng các thay đổi có hiệu lực bằng lệnh:

source /etc/profile

Nếu bản phân phối Linux của bạn không hỗ trợ lệnh nguồn, bạn cũng có thể khởi động lại VPS bằng lệnh :

sudo reboot

Tạo file

Để bắt đầu tập lệnh shell của bạn, bạn cần tạo một file thực thi. Điều này có thể dễ dàng đạt được bằng lệnh:

touch ~/bin/firstscript  chmod +x ~/bin/firstscript

Mở editor nano để bắt đầu thêm các lệnh:

nano ~/bin/firstscript

Để trình nạp chương trình nhận dạng file thực thi này là một tập lệnh shell và chạy các lệnh từ folder bên phải, bạn phải thêm dòng sau vào đầu file :

#!/bin/sh

Và bạn đã sẵn sàng thêm bất kỳ lệnh Linux nào bạn muốn, chẳng hạn như:

clear  echo “Hello World!”

Sau khi lưu (CTRL + O) và thoát (CTRL + X) nano, để chạy tập lệnh của bạn, chỉ cần nhập:

firstscript

từ bất kỳ đâu trong hệ thống của bạn. Kết quả sẽ như thế này:

Chạy tập lệnh thử nghiệm

Tập lệnh mẫu

Một trong những điểm chính của shell script là tạo các phím tắt cho các việc lặp đi lặp lại. Ví dụ: nếu bạn đang di chuyển nhiều file vào folder ~ / backup của bạn , bạn có thể cài đặt một script đơn giản là thả bất cứ thứ gì bạn chỉ định. Cách nó hoạt động là gõ:

filebackup file-name1 file-name2...

Sau đó, khi bạn cần, nó sẽ có mặt. Trước khi bắt đầu viết mã, ta hãy xem những gì bạn cần học. Các tập lệnh shell được viết tốt không được mã hóa cứng. Điều đó nghĩa là , trong phạm vi của ví dụ này, nếu bạn muốn thay đổi folder backup của bạn , bạn có thể dễ dàng thực hiện điều đó bằng cách chỉ thay đổi một trong những dòng đầu tiên trong tập lệnh. Có, biến tương ứng với nó sẽ chỉ được tham chiếu một lần, nhưng nó sẽ thực sự hữu ích cho bạn sau này nếu bạn đã quen với việc này ngay bây giờ. Để kiểm tra điều này, bạn sẽ không cần phải nhảy vào editor , hãy thực hiện ngay từ dòng lệnh bằng lệnh :

testvariable=teststring

Lệnh "echo" xuất ra văn bản. Bằng lệnh:

echo $testvariable

Bạn có thể thấy giá trị bạn đặt cho nó, trong trường hợp này là "chuỗi kiểm tra". Đến đây bạn có thể bắt đầu mã hóa nó bằng cách làm như bình thường.

touch ~/bin/filebackup  chmod +x ~/bin/filebackup  nano ~/bin/filebackup

Lưu ý , bất kỳ dòng nào bắt đầu bằng dấu '#' đều là một comment . Nó sẽ không ảnh hưởng đến chương trình của bạn theo bất kỳ cách nào, ngoại trừ khi nó được theo sau bởi dấu chấm than ở dòng đầu tiên của chương trình, sau đó chuyển thành "shebang", như đã giải thích trước đó khi dòng "#! / Bin / sh" đã được giới thiệu. Đây là những gì tập lệnh có thể trông như thế này:

#!/bin/sh  #Backup script  #Description: makes a copy of any given file at the backup folder  #Author: Your Name  #Date: 8/10/2013    #Backup folder; set this variable to any folder you have write permissions on  BACKUPFOLDER=~/backup    #The script will make sure the folder exists  mkdir -p $BACKUPFOLDER    #Now the script will copy the given file to the folder  cp -a $@ $BACKUPFOLDER

Bây giờ, sau khi bạn đã lưu (CTRL + O) và thoát (CTRL + X), hãy xem lại mã. Vài dòng đầu tiên chỉ là comment . Sau đó, ta đã chỉ định biến BACKUPFOLDER nơi ta muốn các file của bạn được backup . Ta đã tiến hành chạy “mkdir -p $ BACKUPFOLDER”. Điều đó nghĩa là nó tạo folder , nhưng không đưa ra bất kỳ lỗi nào nếu nó đã tồn tại. Trên lệnh tiếp theo, lệnh “cp”, ta đã đặt mọi đối số tiến hành lệnh gọi cho tập lệnh với “$ @”. Các đối số trên ngữ cảnh này là tất cả các tên file bạn đặt sau khi tập lệnh được gọi để được backup . Ngay sau đó là folder đích, trong trường hợp này là "$ BACKUPFOLDER". Đến đây bạn có thể kiểm tra tập lệnh của bạn bằng cách đi tới bất kỳ folder nào trên hệ thống của bạn với một vài file và chạy:

filebackup file1 file2

Bạn có thể thêm bao nhiêu file tùy ý vào dòng đó và tất cả chúng sẽ được sao chép vào folder backup .

Kết luận

Các tập lệnh Shell có ở khắp mọi nơi trên các hệ thống Linux và đó là lý do. Chúng cực kỳ hữu ích và khả năng vô cùng cao. Hướng dẫn này chỉ bao gồm những điều cơ bản, còn nhiều điều cần tìm hiểu.


Tags:

Các tin liên quan