Giới thiệu
Lệnh bc được sử dụng cho máy tính dòng lệnh. Nó tương tự như máy tính cơ bản bằng cách sử dụng chúng ta có thể thực hiện các phép tính toán học cơ bản.
Các phép toán số học là cơ bản nhất trong bất kỳ loại ngôn ngữ lập trình nào. Hệ điều hành Linux hoặc Unix cung cấp lệnh bc và lệnh expr để thực hiện các phép tính số học. Tuy nhiên lệnh bc có tính ứng dụng cao hơn. Chúng ta cũng có thể sử dụng các lệnh này trong tập lệnh bash hoặc shell để đánh giá các biểu thức số học.
Cú pháp lệnh bc
Các tùy chọn lệnh bc:
-h
: In hướng dẫn sử dụng lệnhbc
.-i
: Buộc chế độ tương tác.-l
: Xác định thư viện toán học chuẩn.-w
: Đưa ra cảnh báo cho các tiện ích mở rộng cho POSIX bc.-s
: Xử lý chính xác ngôn ngữ POSIX bc.-q
: Không in GNU bc bình thường chào mừng.-v
: In số phiên bảnbc
.
Lệnh bc hỗ trợ các tính năng sau:
- Toán tử số học.
- Toán tử tăng hoặc giảm.
- Toán tử chuyển nhượng.
- Toán tử so sánh hoặc quan hệ.
- Toán tử logic hoặc Boolean.
- Các hàm toán học.
- Câu điều kiện.
- Các câu lệnh lặp lại.
- ...
Sử dụng ùy chọn -v
để hiển thị thông tin phiên bản bc:
Sử dụng tùy chọn -h
dùng để hiển thị thông tin trợ giúp lệnh bc:
Lưu ý: Lệnh bc có thể thực hiện các phép toán đối với cả số nguyên và số thực.
Sử dụng lệnh bc với các phép toán số học
Phép cộng
Chú thích tham số lệnh echo
:
a
: Là số tự nhiên thứ nhất.b
: Là số tự nhiên thứ hai.+
: Là phép cộng số học.bc
: Thực hiện phép toán số học.
Ví dụ: Tính tổng của hai số 45.21
và 56
chúng ta dùng lệnh sau:
Phép trừ:
Chú thích tham số lệnh echo
:
a
: Là số tự nhiên thứ nhất.b
: Là số tự nhiên thứ hai.-
: Là phép trừ số học.bc
: Thực hiện phép toán số học. Ví dụ: Tính hiệu của hai số45.21
và56
chúng ta dùng lệnh sau:
Phép nhân:
Chú thích tham số lệnh echo
:
a
: Là số tự nhiên thứ nhất.b
: Là số tự nhiên thứ hai.*
: Là phép nhân số học.bc
: Thực hiện phép toán số học. Ví dụ: Tính tích hai số45.21
và56
chúng ta dùng lệnh sau:
Phép chia hết:
Chú thích tham số lệnh echo
:
a
: Là số tự nhiên thứ nhất.b
: Là số tự nhiên thứ hai./
: Là phép chia số học.bc
: Thực hiện phép toán số học.
Ví dụ: Thực hiện phép chia hai số 405
và 45
chúng ta dùng lệnh sau:
Phép chia lấy phần dư:
Chú thích tham số lệnh echo
:
a
: Là số tự nhiên thứ nhất.b
: Là số tự nhiên thứ hai.%
: Là phép chia lấy phần dư.bc
: Thực hiện phép toán số học.
Ví dụ: Thực hiện phép chia lấy dư của hai số 408
và 45
chúng ta dùng lệnh sau:
Phép tính lũy thừa với số mũ tự nhiên:
Chú thích tham số lệnh echo
:
a
: Là số tự nhiên thứ nhất.b
: Là số tự nhiên thứ hai.^
: Là phép lũy thừa cơ số a mũ b.bc
: Thực hiện phép toán số học.
Ví dụ: Tính lũy thừa của hai số 4.5
và 5
chúng ta dùng lệnh sau:
lưu trữ kết quả của phép toán hoàn chỉnh trong một biến
Để lưu trữ kết quả của phép toán trong một biến chúng ta dùng lệnh sau:
Chú thích tham số lệnh echo
variable
: Là tên biến bạn muốn gán cho biểu thức toán học.a + b
: Là phép toán tính tổng hai số.bc
: Thực hiện phép toán số học.
Ví dụ: Hãy tính tổng của hai số 57
và 58
sau đó lưu vào biến x, chúng ta dùng lệnh như sau:
Để xem kết quả biến x, chúng ta dùng lệnh sau:
Toán tử tăng dần
Có hai loại toán tử tăng dần như sau:
++var
: Tăng biến lên 1 đơn vị trước khi in biến ra màn hình (tiền tố).var++
: Tăng biên lên 1 đơn vị sau khi in biến ra mà hình (hậu tố).
Ví dụ minh họa:
Lệnh này sẽ tăng biến var lên 1 đơn vị trước khi in ra màn hình.
Lệnh này kết quả bằng 4 vì ++
là hậu tố, và sẽ được tăng lên 1 (5
) ở lệnh tiếp theo
Toán tử giảm dần
Có hai loại toán tử giảm dần như sau:
--var
: Giảm biến xuống 1 đơn vị trước khi in biến ra màn hình (tiền tố).var--
: Giảm biên xuống 1 đơn vị sau khi in biến ra mà hình (hậu tố).
Ví dụ minh họa:
Lệnh này sẽ làm giảm biến var 1 đơn vị trước khi in ra màn hình.
Lệnh này kết quả bằng 4 vì --
là hậu tố, và sẽ giảm 1 (3
) ở lệnh tiếp theo.
Toán tử so sánh
Các toán tử so sánh bao gồm:
var1 < var2
: So sánh bé hơn.var1<= var2
: So sánh bé hơn hoặc bằng.var1 > var2
: So sánh lớn hơn.var1 >= var2
: So sánh lớn hơn hoặc bằng.var1 == var2
: So sánh bằng.var1 != var2
: So sánh không bằng.
Kết quả của các phép so sánh được trả về dạng boolean: đúng (1
) hoặc sai (0
).
Ví dụ:
Biểu thức so sánh này trả về 1 (đúng) vì 5 > 2 là 1 biểu thức đúng.
Biểu thức so sánh này trả về 0 (sai) vì 5 <= 2 là 1 biểu thức sai.
Biểu thức so sánh này trả về 0 (sai) vì 5 == 2 là 1 biểu thức sai.
Toán tử logic
Toán tử logic bao gồm: và (&&), hoăc (||)
var1 && var2
: Kết quả là 1 nếu cả hai biểu thức đều khác 0.var1 || var2
: Kết quả là 1 nếu một trong hai biểu thức khác 0.
Ví dụ:
Kết quả là sai (0
) vì đây là biểu thức và (&&) phải đáp ứng hai vế đều bằng 0 thì biểu thức này mới cho kết quả đúng.
Kết quả là đúng (1
) vì đây là biểu thức hoặc (||) chỉ cần đáp ứng 1 trong hai vế có 1 vế bằng 0 thì biểu thức này cho kết quả đúng.
Các hoàm toán học
Một số hàm toán học được hỗ trợ là:
s(x)
: sin của x, x tính bằng radian.c(x)
: cos của x, x tính bằng radian.l(x)
: Lôgarit tự nhiên của x.sqrt(x)
: Căn bậc hai của số x.length(x)
: trả về số chữ số trong x.
Ví dụ minh họa:
Đầu tiên chúng ta hãy tạo một biến pi có giá trị bằng 3.14
Kiểm tra biến pi
Lưu ý: Biến pi =3.14 là giá trị gần đúng, nên có thể có sai số nhỏ trong các phép toán
Ví dụ: Tính sin của góc "pi/6" chúng ta dùng lệnh như sau:
Chú thích tham số lệnh echo:
s
: Là hàm toán học tính sin.$pi / 6
: Là biểu thức tính sin góc$pi / 6
độ.bc
: Thực hiện biểu thức toán học tính hàm sin.-l
: Xác định thư viện toán học chuẩn.
Ví dụ: Tính cos của góc "pi / 3" chúng ta dùng lệnh như sau:
Chú thích tham số lệnh echo:
c
: Là hàm toán học tính cos.$pi / 3
: Là biểu thức tính cos góc$pi / 3
độ.bc
: Thực hiện biểu thức toán học tính hàm sin.-l
: Xác định thư viện toán học chuẩn.
Ví dụ; Tính logarit tự nhiên (ln) của một số tự nhiên
Chú thích tham số lệnh echo:
a
: Là số tự nhiên cần tính logarit.l
: Là logarit tự nhiên của số abc
: Thực hiện biểu thức toán học tính hàm sin.-l
: Xác định thư viện toán học chuẩn.
Ví dụ: Tính căn bậc hai của một số tự nhiên:
Chú thích tham số lệnh echo:
a
: Là số tự nhiên cần tính căn bậc hai.sqrt
: Là hàm tính căn bậc hai của số a.bc
: Thực hiện biểu thức toán học tính căn bậc hai.-l
: Xác định thư viện toán học chuẩn.
Ví dụ: Đếm số chữ số của một số chúng ta dùng lệnh sau:
Chú thích tham số lệnh echo:
length(x)
: Tính độ dài của chuỗi số x truyền vào.bc
: Thực hiện biểu thức toán học.-l
: Xác định thư viện toán học chuẩn.
Kết luận
Trong bài hướng dẫn này, chúng ta đã tìm hiểu về lệnh bc trên Linux. Sử dụng lệnh bc thành thạo là điều cần thiết đối với người dùng và quản trị viên, những người thường xuyên thực hiện các phép tính cơ bản hoặc các tập lệnh lập trình trên Linux. Lệnh này thậm chí còn hữu ích hơn khi được kết hợp với echo hoặc các lệnh khác, vì bc có thể đọc kết quả từ các lệnh đó và thực hiện các phép tính một cách nhanh chóng.
Tính năng đang được phát triển