Skip to content
  • Đăng nhập
  • Đăng nhập
  • Khuyến mại
    • Tên miền
          • Đăng ký tên miền
          • bang-gia-ten-mienBảng giá tên miền
          • dang-ky-ten-mienBảo vệ tên miền
          • Kiểm Tra Tên Miền
          • Gợi ý tên miền AI
          • ten-mien-vn-14Tên Miền .VN
          • Tên miền miễn phí
          • Gia hạn tên miền
          • Hướng dẫn chuyển tên miền về BKNS
          • Thủ tục chuyển nhượng tên miền VN
          • Quy trình xử lý khiếu nại tên miền
          • Các quy trình tên miền khác
          • Biểu Mẫu Hồ Sơ Đăng Ký
    • Hosting
          • hosting-platinumPlatinum Web Hosting
            Hosting NVMe U.2, CPU Platinum, Backup 3 lần/ngày
          • hosting-gia-re-1Hosting Giá Rẻ
            Off 15%: Hosting + Domain
          • Hosting-seoHosting SEO
            Tối ưu hóa website thân thiện với công cụ tìm kiếm
          • hosting-wordpressHosting WordPress
            Off 20%: Chuyển dịch vụ về BKNS
          • hosting-windowsHosting Windows
            Khả năng thích ứng cao - Bảo mật, mạnh mẽ đơn giản
          • reseller-hosting-cpanelReseller Hosting Cpanel
            Giải pháp tối ưu hệ thống Website
          • hosting-freeHosting Free
            Khởi tạo website chỉ với 0đ
    • Email
          • email-3Email Hosting
          • email-3Email Relay
            White list IP
          • email-3Email Server
            Miễn phí SSL, Giảm giá 20%
    • VPS
          • icon-AMD1Cloud VPS AMD
            Bộ xử lý AMD EPYC™
          • icon-vm-1Cloud VPS VM
            Giá chỉ từ 77k/tháng
          • icon-storgeStorage VPS
            Lưu trữ dung lượng cao
          • icon-gia-reVPS Giá Rẻ
            Giá chỉ từ 75k/tháng
          • sieu-reVPS Siêu Tiết Kiệm
            Giá chỉ từ 69k/tháng
          • VPS N8N AI
            N8N Tool Integration
          • Backup dữ liệu
          • Cloud VPS SEO
          • Cloud VPS BK Misa
          • E-meeting
          • Cloud VPN
    • Máy Chủ
          • server-bkns-1Thuê Máy Chủ
          • server-bkns-1Thuê Chỗ Đặt Máy Chủ
          • server-bkns-1Dịch vụ quản trị máy chủ trọn gói
    • Phần mềm
          • pngDirectAdmin
          • downloadSoftaculous
          • CloudlinuxCloudLinux
          • logo-cpanelcPanel
          • VectorImunify360
          • logo-dtiDTI
          • Plesk 1Plesk Obsidian
          • vBulletinvBulletin
          • Group-3164LiteSpeed
    • Website
    • SSL
    • Đối tác
      • Đại lý
      • Cộng Tác Viên
      • Tích Điểm Lên Hạng
    • Hướng dẫn
      • Hướng dẫn thanh toán
      • Hướng dẫn dịch vụ
      • Cam kết chất lượng mức dịch vụ (SLA)
      • Hướng dẫn sử dụng hệ thống quản lý dịch vụ (my.bkns.net)
  • Khuyến mại

Trang chủ » Shell script là gì? Tìm hiểu chi tiêt về Shell script

Shell script là gì? Tìm hiểu chi tiêt về Shell script

Thịnh Văn Hạnh 26/12/2019 2953 Lượt xem Chia sẻ bài viết

Shell script là gì? Cách sử dụng các biến trong shell script thế nào? Bài viết sau đây, BKNS sẽ cung cấp cho bạn những thông tin cần thiết về Shell script để bạn có thể làm quen với Shell script một cách dễ dàng. Hãy cùng theo dõi nhé.

Shell script là gì?
Shell script là gì?

Tóm Tắt Bài Viết

  • 1. Shell Prompt
  • 2. Các loại Shell
  • 3. Shell Script
  • 4. Cách sử dụng các biến trong shell
    • 4.1 Đặt tên
    • 4.2 Khai báo
    • 4.3 Xoá giá trị của biến
  • 5. Phân loại biến
  • 5. Mảng
  • 6. Cấu trúc lặp
    • 6.1 Vòng lặp select
    • 6.2 Vòng lặp until

1. Shell Prompt

Trong trường hợp người dùng dùng terminal thường xuyên thì người dùng không xa lạ gì với “Command prompt”. Hình dưới đây chính là Command prompt:

Shell Prompt

Sau ký tự &, người dùng có thể gõ lệnh 

Hanhio@bla-bla ~ $ date

Thứ năm, 26 Tháng mười một năm 2015 17:50:04 ICT

2. Các loại Shell

Có 2 loại shell chính là:

  • C shell (% chính là dấu nhắc lệnh) 
  • Bourne shell (mặc định có dấu nhắc lệnh là $)

Ở Bourne shell còn có những kiểu đa dạng như là:

  • POSIX shell (sh)
  • Bourne Again shell (bash)
  • Korn shell (ksh)
  • Bourne shell (sh)

Còn đối với C shell có:

  • TENEX/TOPS C shell (tcsh)
  • C shell (csh)

3. Shell Script

Shell script
Shell script

Shell Script là 1 tập hợp những lệnh được thực hiện kết nối với nhau, bắt đầu 1 shell script thường xuyên có ghi chú comment mở đầu bằng # ví dụ như:

#!/bin/bash

# Author : Không AI

# Copyright (c) Viblo.asia

# Script lệnh linh hoạt

HELLO="Xin chào, "

HELLO=$(printf "%s %s" "$HELLO" "$(whoami)" "!")

DAY="Hôm nay là ngày "

DAY=$(printf "%s %s" "$DAY" "$(date)")

echo $HELLO

echo $DAY

Người dùng cần phải gửi thông báo với hệ thống rằng chuẩn bị có shell chạy bằng dòng lệnh #!/bin/bash trước khi làm việc với script.

Với mục đích chính là soạn thảo shell script thì bạn có thể nhập lệnh trên terminal hay dùng những trình soạn thảo phù hợp đối với bạn như: kate, gedit, vim,… sau đó lưu lại file *.sh, ví dụ “test.sh”.

Tiếp theo cài đặt quyền thực hiện cho shell bằng cách nhập dòng code sau: “$chmod +x test.sh”.

Cuối cùng chạy script bằng cách sử dụng 1 trong 3 cách sau đây:

  • ./test.sh
  • sh test.sh
  • bash test.sh.

Sau đó sẽ hiện lên kết quả:

Hanhio@bla-bla ~ $ bash test.sh

Xin chào, thao!

Hôm nay là ngày Thứ năm, 26 Tháng mười một năm 2015 18:19:25 ICT

4. Cách sử dụng các biến trong shell

4.1 Đặt tên

Giống với tất cả ngôn ngữ khác, tên miền được phép đặt tên những chữ cái từ A đến Z, từ a đến z, chữ số từ 0 đến 9 và được sử dụng dấu _, tên biến không được bắt đầu bằng chữ số.

4.2 Khai báo

Để khai báo bạn thực hiện cú pháp như sau:

variable_name=variable_value

Chẳng hạn như là:

HANH=”Nguyễn Thị Hạnh”

Sử dụng

HANH="Nguyễn Thị Hạnh"

echo $HANH

4.3 Xoá giá trị của biến

Hanhio@bla-bla ~ $ a="value"

Hanhio@bla-bla ~ $ echo $a

value

Hanhio@bla-bla ~ $ unset a

Hanhio@bla-bla ~ $ echo $a

Hanhio@bla-bla ~ $

5. Phân loại biến

  • Biến do người dùng định nghĩa: được xây dựng và quản lý bởi người sử dụng, tên đa dạng, thoả mãn yêu cầu đặt tên shell.
  • Biến hệ thống: được tạo ra và quản lý bởi system, tên là chữ hoa, chẳng hạn như là:
Hanhio@bla-bla ~ $ echo $SHELL

/bin/bash

Hanhio@bla-bla ~ $ echo $TERM

xterm

5. Mảng

NAME[0]="Zara"

NAME[1]="Qadir"

NAME[2]="Mahnaz"

NAME[3]="Ayan"

NAME[4]="Daisy"

Trong trường hợp người dùng dùng ksh shell thì có thể dùng cú pháp như sau:

set -A array_name value1 value2 … valuen

Còn trong trường hợp khác là người dùng có thể sử dụng bash shell thì khai báo như sau:

array_name=(value1 … valuen)

Dùng 1 giá trị trong mảng:

${array_name[index]}

hoặc mọi giá trị trong mảng:

${array_name[*]}

${array_name[@]}

Chẳng hạn như là:

#!/bin/sh

NAME[0]="Zara"

NAME[1]="Qadir"

NAME[2]="Mahnaz"

NAME[3]="Ayan"

NAME[4]="Daisy"

echo "First Index: ${NAME[0]}"

echo "Second Index: ${NAME[1]}"

echo "First Method: ${NAME[*]}"

echo "Second Method: ${NAME[@]}"

Kết quả trả về như sau:

$./test.sh

First Index: Zara

Second Index: Qadir

First Method: Zara Qadir Mahnaz Ayan Daisy

Second Method: Zara Qadir Mahnaz Ayan Daisy

Cấu trúc rẽ nhánh

Cú pháp ví dụ như là:

#!/bin/sh

a=15

b=25

if [ $a == $b ]

then

   echo "a is equal to b"

fi

if [ $a == $b ]

then

   echo "a is equal to b"

elif [ $a -gt $b ]

then

   echo "a is greater than b"

elif [ $a -lt $b ]

then

   echo "a is less than b"

else

   echo "None of the condition met"

fi

6. Cấu trúc lặp

6.1 Vòng lặp select

#!/bin/ksh

select DRINK in tea coffee water juice apple all none

do

   case $DRINK in

      tea|coffee|water|all)

         echo "Go to canteen"

         ;;

      juice|apple)

         echo "Available at home"

      ;;

      none)

         break

      ;;

      *) echo "ERROR: Invalid selection"

      ;;

   esac

done

Kết quả trả về:

$./test.sh

1) tea

2) coffee

3) water

4) juice

5) apple

6) all

7) none

#? juice

Available at home

#? none

6.2 Vòng lặp until

#!/bin/sh

a=0

until [ ! $a -lt 10 ]

do

   echo $a

   a=`expr $a + 1`

done

Vòng lặp for:

#!/bin/sh

for var in 0 1 2 3 4 5 6 7 8 9

do

   echo $var

done

Vòng lặp while

#!/bin/sh

a=0

while [ $a -lt 10 ]

do

   echo $a

   a=`expr $a + 1`

done

Bài viết trên BKNS đã cung cấp thông tin để bạn có thể làm quen với Shell script. Hy vọng, những thông tin mà BKNS cung cấp hữu ích với bạn. Nếu còn bất cứ điều gì thắc mắc, hãy cho BKNS biết thông qua phần bình luận bên dưới. Thường xuyên truy cập website https://www.bkns.vn/ để cập nhật thêm nhiều bài viết hữu ích khác nhé!

Danh mục
  • Chứng chỉ SSL
  • Dịch vụ CDN
  • Email
  • Hosting
  • Hướng dẫn
    • Hướng dẫn đăng ký dịch vụ
    • Hướng dẫn kỹ thuật
    • Hướng dẫn sử dụng hệ thống quản lý dịch vụ (my.bkns.net)
    • Quy Trình
  • Kiến thức chung
    • Cloud Computing
    • DNS
    • IP
    • WordPress
  • Máy chủ
  • Phần mềm
    • cPanel
    • DirectAdmin
    • Plesk 12/Onyx
  • Tên miền
  • Thông báo & Tin tức
  • VPS
  • Website
Xem tất cả bài viết
Thịnh Văn Hạnh

Chào bạn, tôi là Thịnh Văn Hạnh, CEO và là người sáng lập nên BKNS. Với nhiều năm trong lĩnh vực công nghệ thông tin, hosting, server, tên miền... Tôi mong muốn mang đến cho các bạn những thông tin hữu ích nhất.

Chia sẻ lên
Theo dõi trên

Bài viết liên quan

anh-bia-ssl

15/09/2025

18

Chứng Chỉ SSL Là Gì? Tầm Quan Trọng & Cách Lựa Chọn SSL Cho Website

anh-bia

04/09/2025

60

VPS Treo Game Android – Giải Pháp Tối Ưu Cho Chơi Game & Giả Lập

anh-bia-vps-gpu

26/08/2025

88

VPS GPU Treo Game – Giải Pháp Tối Ưu Cho Game Thủ & Streamer

ten-mien-co-toi-da-bao-nhieu-ky-tu

19/08/2025

109

Tên miền có tối đa bao nhiêu ký tự? Cẩm nang cần biết khi đặt tên miền

domain-la-gi (1)

18/08/2025

99

Domain là gì? Khái niệm cơ bản dành cho người mới bắt đầu

anh- bia

16/08/2025

98

Tên miền doanh nghiệp là gì? Nền tảng xây dựng thương hiệu số chuyên nghiệp

thong-bao-nang-cap-ha-tang-he-thong

14/08/2025

152

[THÔNG BÁO] NÂNG CẤP TOÀN BỘ HỆ THỐNG NGÀY 16/08/2025

anh-bia

14/08/2025

179

Bí quyết chọn tên miền đẹp: Hướng dẫn từ A–Z

anh-bia-Let's-Encrypt-la-gi

07/08/2025

172

Let’s Encrypt là gì? Giải pháp chứng chỉ SSL miễn phí cho website bảo mật và uy tín

×
Xin chào,

Vui lòng nhập thông tin để chúng tôi liên hệ lại với bạn theo lịch hẹn.

Gửi Yêu Cầu
Gọi hotline 190 063 6809(24/7)
Thành công,

Cảm ơn bạn đã để lại thông tin. Chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.

Về chúng tôi

  • Giới thiệu
  • Liên hệ
  • Hồ sơ năng lực
  • Thông báo & Tin tức
  • Affiliate
  • Chương trình tích điểm

Các dịch vụ

  • Đăng Ký Tên Miền
  • Web Hosting
  • Platinum Web Hosting
  • Email Hosting
  • Cloud VPS
  • Server – Thuê máy chủ
  • Phần mềm
  • SSL & Bảo mật
  • Thiết kế website

Thông tin cần biết

  • Điều Khoản Sử Dụng Dịch Vụ
  • Quy trình giải quyết khiếu nại khách hàng
  • Cam kết chất lượng dịch vụ (SLA)
  • Văn Bản Pháp Lý
  • Biểu Mẫu Hồ Sơ Đăng Ký
  • Chính sách bảo mật thông tin

Câu hỏi thường gặp

  • Các hỏi đáp về dịch vụ Email
  • Các hỏi đáp về dịch vụ Tên miền
  • Các hỏi đáp về dịch vụ hosting
  • Các hỏi đáp về dịch vụ máy chủ
  • Hỏi đáp dịch vụ SSL

Hướng dẫn sử dụng

  • Hướng dẫn dịch vụ
  • Hướng dẫn sử dụng my.bkns.net

Số ĐKKD: 0104850587, cấp ngày 10/8/2010, tại sở KHĐT Hà Nội

Địa chỉ trụ sở: BT2-VT18, Khu nhà ở Xa La, Phường Hà Đông, Thành phố Hà Nội, Việt Nam

Chịu trách nhiệm nội dung: Giám đốc Thịnh Văn Hạnh

Copyright © Since 2010 BKNS, All rights reserved

Sử dụng dịch vụ tại BKNS.VN có nghĩa là bạn đồng ý với Quy định sử dụng của chúng tôi.

Công ty cổ phần giải pháp mạng Bạch Kim

LocationP501, Tầng 5 Tòa nhà số 169 đường Nguyễn Ngọc Vũ, Phường Yên Hòa, Thành phố Hà Nội, Việt Nam.

LocationB16 Khu nhà ở Thương Mại 319 Lý Thường kiệt, Phường Phú Thọ, Thành phố Hồ Chí Minh.

Phone Tổng đài 24/7: 1900 63 68 09

Phone Tư vấn dịch vụ: 1800 646 884 (Miễn phí cước)

Email Email liên hệ: info@bkns.vn

Email Email phản hồi dịch vụ: gopy@bkns.vn

Liên hệ với chúng tôi:

Zalo Offcial Account của hệ thống :

Zalo
Copyright © 2022 BKNS, All rights reserved
  • Tên miền
    • Đăng ký tên miền
    • bang-gia-ten-mienBảng giá tên miền
    • Kiểm Tra Tên Miền
    • Gợi ý tên miền AI
    • dang-ky-ten-mienBảo vệ tên miền
    • ten-mien-vn-14Tên Miền .VN
    • Tên miền miễn phí
    • Gia hạn tên miền
    • Quy trình xử lý khiếu nại tên miền
    • Khi nào cần Transfer tên miền?Hướng dẫn chuyển tên miền về BKNS
    • Thủ tục chuyển nhượng tên miền VN
    • Các quy trình tên miền khác
    • Biểu Mẫu Hồ Sơ Đăng Ký
  • Hosting
    • hosting-platinumPlatinum Web Hosting
      Hosting NVMe U.2, CPU Platinum, Backup 3 lần/ngày
    • hosting-wordpressHosting WordPress
      Off 20%: Chuyển dịch vụ về BKNS
    • Hosting-seoHosting SEO
      Tối ưu hóa website thân thiện với công cụ tìm kiếm
    • hosting-windowsHosting Windows
      Khả năng thích ứng cao – Bảo mật, mạnh mẽ đơn giản
    • reseller-hosting-cpanelReseller Hosting Cpanel
      Giải pháp tối ưu hệ thống Website
    • hosting-freehosting-freeHosting Free
      Khởi tạo website chỉ với 0đ
    • hosting-gia-re-1Hosting Giá Rẻ
      Off 15%: Hosting + Domain
  • Email
    • email-3Email Hosting
    • email-3Email Relay
      White list IP
    • email-3Email Server
      Miễn phí SSL, Giảm giá 20%
  • VPS
    • icon-AMD1Cloud VPS AMD
      Bộ xử lý AMD EPYC™
    • icon-vm-1Cloud VPS VM
      Giá chỉ từ 77k/tháng
    • icon-gia-reVPS Giá Rẻ
      Giá chỉ từ 75k/tháng
    • icon-storgeStorage VPS
      Lưu trữ dung lượng cao
    • Cloud VPS SEO
    • Cloud VPS BK Misa
    • E-meeting
    • Cloud VPN
    • Backup dữ liệu
    • sieu-reVPS Siêu Tiết Kiệm
      Giá chỉ từ 69k/tháng
    • VPS N8N AI
      N8N Tool Integration
  • Máy Chủ
    • server-bkns-1Thuê Máy Chủ
    • server-bkns-1Thuê Chỗ Đặt Máy Chủ
    • server-bkns-1Dịch vụ quản trị máy chủ trọn gói
  • Phần mềm
    • pngDirectAdmin
    • CloudlinuxCloudLinux
    • Plesk 1Plesk Obsidian
    • vBulletinvBulletin
    • Group-3164LiteSpeed
    • downloadSoftaculous
    • VectorImunify360
    • logo-cpanelcPanel
    • logo-dtiDTI
  • Website
  • SSL
  • Đối tác
    • Đại lý
    • Cộng Tác Viên
    • Tích Điểm Lên Hạng
  • Hướng dẫn
    • Hướng dẫn thanh toán
    • Hướng dẫn dịch vụ
    • Cam kết chất lượng mức dịch vụ (SLA)
    • Hướng dẫn sử dụng hệ thống quản lý dịch vụ (my.bkns.net)
  • WooCommerce not Found
  • Newsletter
  • Đăng nhập
    • English
  • Tên miền
    • Đăng ký tên miền
    • bang-gia-ten-mienBảng giá tên miền
    • Kiểm Tra Tên Miền
    • Gợi ý tên miền AI
    • dang-ky-ten-mienBảo vệ tên miền
    • ten-mien-vn-14Tên Miền .VN
    • Tên miền miễn phí
    • Gia hạn tên miền
    • Quy trình xử lý khiếu nại tên miền
    • Hướng dẫn chuyển tên miền về BKNS
    • Thủ tục chuyển nhượng tên miền VN
    • Các quy trình tên miền khác
    • Biểu Mẫu Hồ Sơ Đăng Ký
  • Hosting
    • hosting-platinumPlatinum Web Hosting
      Hosting NVMe U.2, CPU Platinum, Backup 3 lần/ngày
    • hosting-wordpressHosting WordPress
      Off 20%: Chuyển dịch vụ về BKNS
    • Hosting-seoHosting SEO
      Tối ưu hóa website thân thiện với công cụ tìm kiếm
    • hosting-windowsHosting Windows
      Khả năng thích ứng cao – Bảo mật, mạnh mẽ đơn giản
    • reseller-hosting-cpanelReseller Hosting Cpanel
      Giải pháp tối ưu hệ thống Website
    • hosting-freeHosting Free
      Khởi tạo website chỉ với 0đ
    • hosting-gia-re-1Hosting Giá Rẻ
      Off 15%: Hosting + Domain
  • Email
    • email-3Email Hosting
    • email-3Email Relay
      White list IP
    • email-3Email Server
      Miễn phí SSL, Giảm giá 20%
  • VPS
    • icon-AMD1Cloud VPS AMD
      Bộ xử lý AMD EPYC™
    • icon-vm-1Cloud VPS VM
      Giá chỉ từ 77k/tháng
    • icon-gia-reVPS Giá Rẻ
      Giá chỉ từ 75k/tháng
    • icon-storgeStorage VPS
      Lưu trữ dung lượng cao
    • Cloud VPS SEO
    • Cloud VPS BK Misa
    • E-meeting
    • Cloud VPN
    • Backup dữ liệu
    • sieu-reVPS Siêu Tiết Kiệm
      Giá chỉ từ 69k/tháng
    • VPS N8N AI
      N8N Tool Integration
  • Máy Chủ
    • server-bkns-1Thuê Máy Chủ
    • server-bkns-1Thuê Chỗ Đặt Máy Chủ
    • server-bkns-1Dịch vụ quản trị máy chủ trọn gói
  • Phần mềm
    • pngDirectAdmin
    • CloudlinuxCloudLinux
    • Plesk 1Plesk Obsidian
    • vBulletinvBulletin
    • Group-3164LiteSpeed
    • downloadSoftaculous
    • VectorImunify360
    • logo-cpanelcPanel
    • logo-dtiDTI
  • Website
  • SSL
  • Đối tác
    • Đại lý
    • Cộng Tác Viên
    • Tích Điểm Lên Hạng
  • Hướng dẫn
    • Hướng dẫn thanh toán
    • Hướng dẫn dịch vụ
    • Cam kết chất lượng mức dịch vụ (SLA)
    • Hướng dẫn sử dụng hệ thống quản lý dịch vụ (my.bkns.net)