- vừa được xem lúc

Cách Tạo Và Sử Dụng Bash Script Cơ Bản Trong Ubuntu

0 0 45

Người đăng: Pham Van Huy

Theo Viblo Asia

Bash scripting là một phần cực kỳ mạnh mẽ và hữu ích của phát triển và quản trị hệ thống. Lần đâu tiên làm việc với nó có thể gây cho bạn cảm giác sợ hải và phức tạp, mình hy vọng hướng dẫn này sẽ giúp có những hiểu biết cơ bản về bash script để không bị bở ngở khi làm việc với nó.

Bash là một Unix shell, là giao diện dòng lệnh (command line interface - CLI) để tương tác với một hệ điều hành (HĐH). Bất kỳ lệnh nào bạn có thể chạy từ command line đều có thể được sử dụng trong file bash. Bash Script được sử dụng để chạy một loạt các lệnh.

Bash Script có sẵn theo mặc định trên các hệ điều hành Linux và macOS.

Mục tiêu của bài viết

Trong hướng dẫn này, Chúng ta sẽ:

Tạo một file bash có thể chạy từ bất kỳ thư mục nào trên máy tính.

Tìm hiểu về các biến, điều kiện, vòng lặp và đầu vào trong bash script.

Tạo một file bash script để push code từ repo local lên repo github.

1.Tạo một file script và thực thi nó

Mở của sổ terminal lên và duy chuyển đến Destop, sau đó tạo thư mục tên Mybash bằng lệnh sau:

~$cd ~/Destop
~$mkdir Mybash

Trong thư mục Mybash vừa tạo ở trên ta chạy lênh sau để tạo một file có tên là hello-world.sh

~$touch hello-world.sh

Mở file hello-world vừa tạo ở trên bằng một editor bất kỳ và edit lại thành

#!/bin/bash
echo Hello, World!

Một file bash script phải luôn bắt đầu bằng #!/bin/bash để biểu thị rằng tập lệnh sẽ chạy với bash script chứ không phải bất kỳ shell nào khác. #!/bin/bash được gọi là "shebang". Để biết được bash script của bạn được thực thi ở đâu bằng cách chạy lệnh

~$which bash

Bây giờ, Chúng ta có thể thử chạy file hello-world.sh bằng lệnh

~$hello-world.sh

Nhưng nó sẽ không hoạt động với tin nhắn

-$bash: hello-world: command not found

Chúng ta phải cấp quyền thực thi cho file hello-world.sh bằng lệnh

~$ chmod u+x hello-world.sh

Bây giờ khi chúng ta chạy lệnh, nó sẽ xuất nội dung của lệnh echo.

~$hello-world.sh
Hello, World!

Xin chúc mừng, Chúc ta vừa có fiel bash script đầu tiên và đã chạy thành công. Bạn cũng có thể chạy tập lệnh này từ bất cứ đâu trên máy tính của bạn.

2.Biến

Một biến trong bash script được khai báo không có $, nhưng có phải có $ khi được gọi. Edit nội dung file hello-world.sh ở trên thành

#!/bin/bash who="World" #gắn "World" vào biến who echo Hello, $who! #gọi biến whow bằng cú pháp $who

Sau khi edit và thực thi sẽ cho ra kết quả

~$ hello-world.sh
Hello, World!

Lưu ý rằng who = "World"không hợp lệ - không được có khoảng cách giữa biến và giá trị.

3. Input data

Chúng ta đã khai báo một biến tên who trong ví dụ trước, nhưng chúng ta cũng có thể nhận được data từ người dùng nhập vào. Ví dụ, thay vì chỉ in ra Hello, World!, chúng ta có thể yêu cầu người dùng nhập tên khác, sau đó xuất tên đó. Chúng tôi sẽ làm điều đó bằng cách sử dụng lệnh read.

#!/bin/bash echo Who are you? read who echo Hello, $who!

Save lại và thực thi file hello-world.sh

~$ hello-world
Who are you?
Mickey
Hello, Mickey!

4. Conditionals

Câu lệnh if sử dụng các từ khóa if, then, else và fi. Condition sẽ được đặt trong ngoặc vuông [] Xem ví dụ sau:

#!/bin/bash echo How old are you? read age if [ "$age" -gt 20 ]
then echo You can drink.
else echo You are too young to drink.
fi

Thực thì file hello-world.sh

~$ check-id
How old are you?
28
You can drink.

Các toán tử logic trong bash script hơi khác so với các ngôn ngử khác. Bạn có thể tham khảo bảng sau:

5.Vòng lặp

Trong bash script sử dụng các vòng lặp for, while và until. Trong ví dụ này, chúng ta sẽ sử dụng for...in để lấy tất cả các tệp trong một thư mục và liệt kê chúng.

#!/bin/bash FILES=/Users/tania/dev/* for file in $FILES
do echo $(basename $file)
done

6. Ví dụ dung bash script để push commit lên github

Tạo một file có tên git-deploy.sh trong repo local, sữa lại các dòng lệnh bên dưới cho đúng với repo của bạn và chạy file git-deploy.sh để push commit lên github.

#!/bin/bash read -r -p 'Commit message: ' desc # prompt user for commit message
git add . # track all files
git add -u # track deletes
git commit -m "$desc" # commit with message
git push origin master

Mình hy vọng bài viết này hữu ích cho bạn để bắt đầu với bash scripting. Bài viết được dịch từ https://www.taniarascia.com/how-to-create-and-use-bash-scripts

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 499

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 374

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 701

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 335

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 420

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 414