Lệnh bc trong Linux nổi bật như một công cụ linh hoạt trong việc tính toán trên terminal. Dòng lệnh đều đáp ứng mọi nhu cầu tính toán của bạn. Trong bài viết này, hãy cùng Vietnix khám phá chi tiết về lệnh này, từ định nghĩa, các tùy chọn sử dụng đến 10 ví dụ minh họa về cách sử dụng lệnh.
Lệnh bc trong Linux là gì?
Lệnh bc
(viết tắt của basic calculator) là một công cụ tính toán được tích hợp sẵn trên hệ điều hành Linux. Lệnh bc
hoạt động như một máy tính đa năng ngay trên dòng lệnh, cho phép bạn thực hiện từ các phép tính số học đơn giản đến các biểu thức phức tạp một cách nhanh chóng và chính xác.
Lệnh bc được sử dụng với mọi đối tượng người dùng. Dù bạn là người mới bắt đầu làm quen với hệ điều hành Linux hoặc là người chuyên sử dụng, bc
đều mang đến một giao diện thân thiện và trực quan. Bạn có thể tương tác trực tiếp với bc hoặc sử dụng lệnh này trong các script shell (môi trường tập lệnh) để tự động hóa các tác vụ tính toán. Một số hệ điều hành dựa trên Linux khuyến khích bạn sử dụng là Ubuntu.
Bên cạnh đó, bạn có thể tham khảo thêm các câu lệnh trong Linux để hiểu thêm chi tiết về hệ điều hành.
Cú pháp cơ bản của lệnh bc
Khi sử dụng lệnh bc, bạn có thể cung cấp các tùy chọn (OPTIONS) và tên của một file để bc xử lý. Cú pháp cơ bản của lệnh như sau:
bc [ -hlwsqv ] [LONG-OPTIONS] [ FILE]...
6 nhóm tùy chọn sử dụng lệnh bc
Tùy chọn | Mô tả |
-h hoặc --help | Hiển thị hướng dẫn sử dụng và thoát |
-i hoặc --interactive | Bắt buộc chế độ tương tác |
-l hoặc --mathlib | Định nghĩa thư viện toán học tiêu chuẩn |
-w hoặc --warn | Cảnh báo về các phần mở rộng không thuộc POSIX bc |
-s hoặc --standard | Chỉ xử lý ngôn ngữ POSIX bc. |
-q hoặc --quiet | Không in thông điệp chào mừng GNU bc thông thường |
-v hoặc --version | In số phiên bản và bản quyền, sau đó thoát |
10 ví dụ về cách sử dụng lệnh bc trong Linux
- Thực hiện các phép tính toán học đơn giản
- Thực hiện 6 phép gán giá trị trong hệ thống
- Tăng giá trị một biến bất kỳ bằng lệnh bc
- Sử dụng lệnh bc để giảm giá trị của một biến
- Thực hiện 6 cú pháp phép tính số học
- Thực hiện 3 phép tính logic trong các câu lệnh điều kiện
- Sử dụng lệnh bc để thực hiện các phép toán so sánh trong Linux
- Thực hiện thao tác chuyển đổi số giữa các hệ đếm
- Thực hiện các phép tính từ một file ngẫu nhiên
- Sử dụng các hàm toán học có sẵn trong Linux
Ví dụ 1: Thực hiện các phép tính toán học đơn giản
Trong ví dụ này, chúng ta sẽ thực hiện phép nhân 2 với 3. Hãy làm theo các bước sau:
Bước 1: Đầu tiên mở Terminal trên Ubuntu.
Bước 2: Bạn gõ lệnh echo với cú pháp sau vào cửa sổ Terminal:
echo 2*3 | bc
Bước 3: Nhấn phím Enter để chạy lệnh.
Kết quả: Bạn sẽ thấy kết quả của phép tính là 6 được hiển thị trên màn hình.
Ví dụ 2: Thực hiện 6 phép gán giá trị trong hệ thống
Lệnh | Kết quả |
---|---|
echo “var=10;var” | bc | 10 |
echo “var=2;var+=10;var” | bc | 12 |
echo “var=20;var-=5;var” | bc | 155 |
echo “var=15;var*=5;var” | bc | 75 |
echo “var=15;var/=5;var” | bc | 3 |
echo “var=10;var%=3;var” | bc | 1 |
Bây giờ, chúng ta sẽ thử một ví dụ. Đầu tiên, ta sẽ gán giá trị 10 cho biến var. Sau đó, ta tính bình phương của var (tức là var mũ 2) và lưu kết quả trở lại vào biến var. Bạn hãy thực hiện dưới đây:
Bước 1: Đầu tiên, bạn mở Terminal trên Ubuntu
Bước 2: Trong cửa sổ Terminal, gõ dòng lệnh sau:
echo "var=10;var^=2;var" | bc
Bước 3: Sau khi nhập lệnh, nhấn phím Enter để chạy lệnh.
Kết quả: Bạn sẽ thấy một kết quả hiển thị trên màn hình như hình minh họa bên dưới.
Ví dụ 3: Tăng giá trị một biến bất kỳ bằng lệnh bc
Trong Linux, bạn có thể dùng lệnh bc để thực hiện việc tăng giá trị của một biến. Có hai dạng phép toán tăng giá trị:
++var
(tiền tố tăng): Biến được tăng ngay lập tức, và giá trị mới này sẽ được sử dụng trong các phép tính tiếp theo.var++
(hậu tố tăng): Giá trị hiện tại của biến được sử dụng trước, sau đó biến mới được tăng lên để chuẩn bị cho các hoạt động sau.
Bạn hãy xem qua hai trường hợp như sau để hiểu thêm chi tiết:
- Trường hợp 1: Toán tử tăng giá trị trước
Trong trường hợp này, chúng ta sẽ giữ giá trị của biến var là 10, sau đó tăng giá trị của var lên 1 đơn vị bằng lệnh bc.
Kết quả sẽ được in ra màn hình nhờ lệnh echo
. Hãy cùng thực hiện theo các bước sau:
Bước 1: Bạn mở Terminal trên Ubuntu
Bước 2: Sau đó gõ chính xác lệnh sau vào cửa sổ Terminal:
echo "var=10;++var" | bc
Bước 3: Sau khi gõ lệnh xong, bạn nhấn phím Enter để lệnh được thực thi.
Kết quả: Như bạn thấy trong hình bên dưới, chúng ta đã thực hiện thành công phép tăng giá trị trước bằng lệnh bc
. Từ 10 lên 11.
- Trường hợp 2: Toán tử tăng giá trị sau
Trong trường hợp này, chúng ta sẽ giữ giá trị ban đầu của biến var là 10. Đầu tiên, in ra giá trị gốc của var bằng lệnh echo, sau đó tăng giá trị của var lên 1 đơn vị bằng lệnh bc và lưu lại giá trị mới.
Bạn thực hiện theo các bước sau:
Bước 1: Đầu tiên bạn mở Terminal
Bước 2: Sau đó gõ chính xác lệnh sau vào Terminal:
echo "var=10;var++" | bc
Bước 3: Bạn nhấn phím Enter để lệnh được thực thi.
Kết quả: Bạn sẽ thấy kết quả in ra màn hình, giá trị ban đầu của var được in ra, sau đó giá trị này mới được tăng lên.
Ví dụ 4: Sử dụng lệnh bc để giảm giá trị của một biến
Trong Linux, bạn có thể dùng lệnh bc để giảm giá trị của một biến. Có hai cách để làm điều này:
--var
: Đây gọi là phép giảm giá trị trước. Giá trị của biến sẽ bị giảm đi 1 trước, sau đó kết quả mới được dùng để tính toán tiếp.var--
: Đây gọi là phép giảm giá trị sau. Giá trị hiện tại của biến sẽ được dùng để tính toán trước, sau đó biến mới bị giảm đi 1.
Để hiểu rõ hơn về 2 cách giảm giá trị biến như trên, bạn hãy xem qua hai trường hợp dưới đây:
- Trường hợp 1: Giảm giá trị trước của biến
Trong trường hợp này chúng ta sẽ giữ giá trị của biến var là 10. Sau đó, chúng ta sẽ giảm giá trị của var đi 1 đơn vị bằng lệnh bc
và in kết quả ra màn hình bằng lệnh echo. Để làm điều này, hãy làm theo các bước sau:
Bước 1: Đầu tiên, mở Terminal trên Ubuntu.
Bước 2: Gõ lệnh sau vào cửa sổ Terminal:
echo "var=10;--var" | bc
Bước 3: Nhấn phím Enter để thực thi lệnh.
Kết quả: Trên giao diện dòng lệnh hiển thị kết quả giá trị của var đã giảm từ 10 còn 9.
- Trường hợp 2: Giảm giá trị sau của biến
Trong trường hợp này, chúng ta sẽ giữ giá trị của biến var là 10. Đầu tiên, in ra giá trị ban đầu của var bằng lệnh echo, sau đó giảm giá trị của var đi 1 và lưu lại bằng lệnh bc. Để thực hiện, bạn làm theo các bước sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Gõ lệnh sau vào Terminal:
echo "var=10;var--" | bc
Bước 3: Nhấn phím Enter.
Kết quả: Lệnh bc sẽ thực hiện phép giảm giá trị sau, như hình minh họa bên dưới
Ví dụ 5: Thực hiện 6 cú pháp phép tính số học
Cú pháp | Kết quả |
---|---|
biểu thức 1 < biểu thức 2 | Trả về 1 nếu biểu thức 1 nhỏ hơn biểu thức 2 |
biểu thức 1 <= biểu thức 2 | Trả về 1 nếu biểu thức 1 nhỏ hơn hoặc bằng biểu thức 2 |
biểu thức 1 > biểu thức 2 | Trả về 1 nếu biểu thức 1 lớn hơn biểu thức 2 |
biểu thức 1 >= biểu thức 2 | Trả về 1 nếu biểu thức 1 lớn hơn hoặc bằng biểu thức 2. |
biểu thức 1 == biểu thức 2 | Trả về 1 nếu biểu thức 1 bằng biểu thức 2. |
biểu thức 1 != biểu thức 2 | Trả về 1 nếu biểu thức 1 khác biểu thức 2. |
Trong ví dụ này, chúng ta sẽ so sánh số 10 với số 4. Để thực hiện việc này, hãy làm theo các bước sau:
Bước 1: Đầu tiên, hãy mở ứng dụng Terminal trên Ubuntu
Bước 2: Sau đó, trong cửa sổ Terminal, gõ lệnh sau và nhấn Enter:
echo "10>4" | bc
Kết quả: Bạn có thể thấy kết quả trên màn hình là 1 thì có nghĩa là biểu thức 1 lớn hơn biểu thức 2.
Ví dụ 6: Thực hiện 3 phép tính logic trong các câu lệnh điều kiện
Cú pháp | Kết quả |
---|---|
Phép (AND): biểu thức 1 && biểu thức 2 | Kết quả là 1 nếu cả hai biểu thức đều khác 0 |
Phép (OR): biểu thức 1 || biểu thức 2 | Kết quả là 1 nếu một trong hai biểu thức khác 0. |
Phép (NOT): !biểu thức | Kết quả là 1 nếu biểu thức bằng 0. |
Trong Linux, bạn có thể dùng lệnh bc để thực hiện các phép tính logic (còn gọi là phép tính boolean). Những phép tính này thường xuất hiện trong các câu lệnh điều kiện. Kết quả của phép tính logic chỉ có thể là 1 (ĐÚNG) hoặc 0 (SAI).
Bây giờ, chúng ta sẽ thực hiện phép toán logic (boolean “or”) trên hai số 2 và 3. Hãy làm theo các bước sau:
Bước 1: Đầu tiên, hãy mở ứng dụng Terminal trên Ubuntu của bạn.
Bước 2: Trong cửa sổ Terminal, bạn gõ lệnh sau:
echo "2&&3" | bc
Bước 3: Sau khi nhập lệnh, bạn nhấn phím Enter.
Kết quả: Hình ảnh bên dưới cho thấy chúng ta đã thực hiện phép toán logic hoặc boolean (trong trường hợp này là phép toán boolean “AND“) bằng lệnh bc.
Ví dụ 7: Sử dụng lệnh bc để thực hiện các phép toán so sánh trong Linux
Phép toán so sánh cho phép bạn đưa ra quyết định và thực thi các câu lệnh dựa trên kết quả của phép so sánh đó. Lệnh bc
hỗ trợ câu lệnh if
.
Trong ví dụ này, chúng ta sẽ so sánh hai số m và n (trong đó m bằng 99 và n bằng 88) bằng cách sử dụng lệnh bc
. Hãy làm theo các bước sau:
Bước 1: Bạn mở Terminal trên Ubuntu.
Bước 2: Sau đó bạn gõ lệnh sau vào cửa sổ Terminal và nhấn Enter:
echo 'n=88;m=99;if(n>m) print "n>m" else print "m>n\n"' | bc -l
Kết quả: Sau khi chạy lệnh trên giao diện sẽ hiện m is greater. Trong trường hợp này, vì 88 (giá trị của n) không lớn hơn 99 (giá trị của m), nên kết quả cuối cùng là m is greater.
Ví dụ 8: Thực hiện thao tác chuyển đổi số giữa các hệ đếm
Để dễ dàng chuyển đổi số từ hệ đếm này sang hệ đếm khác bằng lệnh bc
trên Linux, bạn chỉ cần đặt cơ số của hệ đếm đầu ra vào biến obase và cơ số của hệ đếm đầu vào vào biến ibase
. Để rõ hơn bạn xem qua 2 trường bên dưới đây:
- Trường hợp 1: Chuyển đổi số thập phân thành số nhị phân
Máy tính hiểu ngôn ngữ nhị phân (chỉ gồm số 0 và 1). Đôi khi, bạn cần chuyển đổi số thập phân (số chúng ta thường dùng) sang nhị phân. Dưới đây là cách thực hiện trên Ubuntu:
Bước 1: Mở ứng dụng Terminal trên Ubuntu.
Bước 2: Sao chép lệnh sau vào Terminal và nhấn phím Enter:
echo "obase=2; ibase=10; 10;" | bc
Kết quả: Sau khi chạy lệnh trên giao diện Terminal sẽ hiển thị 1010, đây chính là số nhị phân tương ứng với số thập phân 10.
- Trường hợp 2: Chuyển đổi số nhị phân sang số thập phân
Để chuyển từ số nhị phân (chỉ dùng 0 và 1) sang số thập phân (số chúng ta thường dùng), bạn cần báo cho máy tính biết bạn đang nhập vào số nhị phân và muốn nhận kết quả là số thập phân. Hãy làm theo các bước dưới đây.
Bước 1: Trên Ubuntu, hãy mở cửa sổ Terminal
Bước 2: Nhập lệnh sau vào Terminal và nhấn phím Enter:
echo "obase=10; ibase=2; 11010100;" | bc
Kết quả: Bạn sẽ thấy kết quả là số 212, đây chính là số thập phân tương ứng với số nhị phân 170.
Ví dụ 9: Thực hiện các phép tính từ một file ngẫu nhiên
Trong ví dụ này, chúng ta sẽ thực hiện một số phép tính từ file có tên example.txt
. Hãy làm theo các bước sau:
Bước 1: Đầu tiên, bạn mở Terminal trong Ubuntu.
Bước 2: Gõ lệnh nano theo cú pháp sau vào dòng lệnh và nhấn Enter:
nano example.txt
Bước 3: Bạn tiếp tục nhập tập lệnh sau vào trong file:
2+5;
var = 10*3
print var
print "\n"
quit
Bước 4: Bạn sử dụng tổ hợp phím CTRL+S để lưu, sau đó CTRL+X để thoát.
Bước 5: Cuối cùng bạn gõ lệnh sau và nhấn Enter:
nano example.txt
bc -q exsample.txt
Kết quả: Trên giao diện Terminal sẽ được hiển thị ngay kết quả như hình bên dưới.
Ví dụ 10: Sử dụng các hàm toán học có sẵn trong Linux
Linux có sẵn rất nhiều hàm toán học mà bạn có thể dùng ngay với lệnh bc.
Trong ví dụ này, chúng ta sẽ thử nghiệm với hàm arctangent (ký hiệu là a). Hãy làm theo các bước sau:
Bước 1: Mở ứng dụng Terminal trên Ubuntu.
Bước 2: Trong Terminal bạn nhập lệnh sau và nhấn Enter:
pi=`echo "h=10; 4*a(1)" | bc -l`
Lệnh này sẽ tính diện tích của một hình tròn có bán kính là 1 và lưu kết quả vào biến pi. Giá trị của pi sẽ xấp xỉ 3.1416. Tùy chọn -l
yêu cầu bc sử dụng thư viện toán học.
Bước 3: Để hiển thị kết quả bạn nhập lệnh sau và nhấn Enter:
echo $pi
Kết quả: Màn hình sẽ hiển thị giá trị của pi như hình bên dưới.
Câu hỏi thường gặp
Có thể sử dụng bc để thực hiện các phép toán logic không?
Có thể. Người dùng có thể sử dụng 2 phép toán logic cơ bản trong bc:
1. Toán tử so sánh:==
: Bằng nhau!=
: Khác nhau<
: Nhỏ hơn>
: Lớn hơn<=
: Nhỏ hơn hoặc bằng>=
: Lớn hơn hoặc bằng
2. Toán tử Boolean:&&
: VÀ (AND)||
: HOẶC (OR)!
: PHỦ định (NOT)
Liệt kê các cách sử dụng biến trong bc
3 cách khai báo và sử dụng biến:
– Khai báo: Thay vì khai báo kiểu dữ liệu cho biến, bạn chỉ cần gán trực tiếp giá trị cho biến.
– Gán giá trị: Sử dụng dấu bằng (=
) để gán giá trị cho biến.
– Sử dụng biến: Gọi tên biến trực tiếp trong biểu thức.
Lời kết
Qua bài viết này, chúng ta đã tìm hiểu chi tiết về lệnh bc trong Linux cùng 10 ví dụ minh họa về cách sử dụng chi tiết. Hy vọng những kiến thức này sẽ giúp bạn sử dụng thành thạo lệnh bc và nâng cao hiệu quả công việc trên môi trường Linux.