<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>5 bash script ví dụ giúp bạn học lập trình Linux</title>
<meta name="description" content="5 bash script ví dụ giúp bạn học lập trình Linux - Savefile - Tin Tức -...">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="5 bash script ví dụ giúp bạn học lập trình Linux">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;5-bash-script-vi-du-giup-ban-hoc-lap-trinh-linux-7943.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/5-bash-script-vi-du-giup-ban-hoc-lap-trinh-linux-7943.html">
<link rel="shortcut icon" href="https://www.nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/5-bash-script-vi-du-giup-ban-hoc-lap-trinh-linux-7943.html">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://www.nguoicodonvn2008.info/">https://www.nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>5 bash script ví dụ giúp bạn học lập trình Linux</h1>
		<ul class="list-inline">
			<li>Thứ tư - 10/01/2024 22:15</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="5 bash script ví dụ giúp bạn học lập trình Linux" src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-7.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;">Viết tạo bash script là một trong những cách lập trình máy tính Linux phổ biến và dễ tiếp cận nhất. Những ví dụ về script đơn giản này sẽ giúp bạn hiểu quy trình và giới thiệu cho bạn những kiến thức cơ bản về lập trình Bash.</p>

<h2 style="text-align: justify;">1. Cách in Hello World trong Bash</h2>

<p style="text-align: justify;">Ví dụ Hello World là một cách tuyệt vời để học về bất kỳ ngôn ngữ lập trình nào và Bash cũng không ngoại lệ.</p>

<p style="text-align: justify;">Đây là cách in &quot;Hello World&quot; bằng Bash:</p>

<p style="text-align: justify;">1. Mở trình soạn thảo và bắt đầu chỉnh sửa file mới chứa các dòng code sau.</p>

<p style="text-align: justify;">2. Dòng đầu tiên của Bash script phải luôn trông như thế này:</p>

<pre id="pre0">
<code>#!/bin/bash</code></pre>

<p style="text-align: justify;"><strong>Lưu ý</strong>: Lệnh Shebang (#!/bin/bash) rất cần thiết vì shell sử dụng nó để quyết định cách chạy script. Trong trường hợp này, nó sử dụng trình thông dịch Bash.</p>

<p style="text-align: justify;">3. Bất kỳ dòng nào bắt đầu bằng ký hiệu&nbsp;<strong>#&nbsp;</strong>đều là một comment. Dòng shebang là trường hợp đặc biệt, nhưng bạn có thể sử dụng comment riêng để giải thích code của mình. Thêm comment trên dòng 2, ví dụ:</p>

<pre id="pre1">
<code># Print some text from a bash script</code></pre>

<p style="text-align: justify;">4. Bạn có thể in ra đầu ra tiêu chuẩn bằng&nbsp;<a data-type="internal" href="https://quantrimang.com/cong-nghe/cach-su-dung-lenh-echo-trong-linux-166943" title="Cách sử dụng lệnh &#039;echo&#039; trong Linux">lệnh echo</a>, theo sau là giá trị bạn muốn in. Thêm dòng sau vào dòng 3:</p>

<pre id="pre2">
<code>echo &quot;Hello World&quot;</code></pre>

<p style="text-align: justify;">5. Lưu script, tốt nhất là có phần mở rộng<strong>&nbsp;.sh</strong>, ví dụ,&nbsp;<strong>hello_world.sh</strong>. Phần mở rộng không phải là một yêu cầu bắt buộc nhưng đó là một quy ước hữu ích để tuân theo.</p>

<p style="text-align: justify;">6. Để chạy script của bạn, hãy làm cho file có thể thực thi được. Sử dụng lệnh&nbsp;<strong>chmod</strong>&nbsp;(&quot;change mode&quot;) cùng với đối số&nbsp;<strong>+x</strong>&nbsp;(&quot;executable&quot;) và tên shell script của bạn:</p>

<pre id="pre3">
<code>chmod +x hello_world.sh</code></pre>

<p style="text-align: justify;">7. Sử dụng lệnh này để chạy script từ trong thư mục của nó:</p>

<pre id="pre4">
<code>./hello_world.sh</code></pre>

<p style="text-align: justify;">8. Khi script chạy, nó sẽ in dòng chữ &quot; Hello World &quot; trên terminal của bạn:</p>

<figure>
<div style="text-align: justify;"><img alt="Terminal hiển thị kết quả của một Bash script đơn giản gửi văn bản đến đầu ra" data-i="0" data-src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-1.jpg" data-was-processed="true" height="640" src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-1.jpg" width="915" /></div>

<figcaption>
<div style="text-align: justify;">Terminal hiển thị kết quả của một Bash script đơn giản gửi văn bản đến đầu ra</div>
</figcaption>
</figure>

<h2 style="text-align: justify;">2. Tạo thư mục bằng cách đọc đầu vào</h2>

<p style="text-align: justify;">Từ script của mình, bạn có thể chạy bất kỳ chương trình nào mà bạn thường chạy trên dòng lệnh. Ví dụ, bạn có thể tạo một thư mục mới từ script của mình bằng lệnh mkdir.</p>

<p style="text-align: justify;">1. Bắt đầu với dòng Shebang tương tự như trước:</p>

<pre id="pre5">
<code>#!/bin/bash</code></pre>

<p style="text-align: justify;">2. Nhắc người dùng nhập tên thư mục bằng lệnh echo như trước:</p>

<pre id="pre6">
<code>echo &quot;Enter new directory name:&quot;</code></pre>

<p style="text-align: justify;">3. Sử dụng lệnh read tích hợp để tìm nạp thông tin đầu vào của người dùng. Đối số duy nhất đặt tên cho một biến mà shell sẽ lưu trữ đầu vào:</p>

<pre id="pre7">
<code>read newdir</code></pre>

<p style="text-align: justify;">4. Khi bạn cần sử dụng giá trị được lưu trữ trong một biến, hãy thêm ký hiệu đô la ($ vào trước tên của biến đó). Bạn có thể chuyển nội dung của biến đầu vào làm đối số cho lệnh mkdir để tạo một thư mục mới:</p>

<pre id="pre8">
<code>mkdir $newdir</code></pre>

<p style="text-align: justify;">5. Khi bạn chạy script này, nó sẽ nhắc bạn nhập đầu vào. Nhập tên thư mục hợp lệ và bạn sẽ thấy script tạo nó trong thư mục hiện tại của bạn:</p>

<figure>
<div style="text-align: justify;"><img alt="Bash script đơn giản tạo một thư mục từ đầu vào của người dùng" data-i="1" data-src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-2.jpg" data-was-processed="true" height="640" src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-2.jpg" width="915" /></div>

<figcaption>
<div style="text-align: justify;">Bash script đơn giản tạo một thư mục từ đầu vào của người dùng</div>
</figcaption>
</figure>

<h2 style="text-align: justify;">3. Tạo thư mục sử dụng đối số dòng lệnh</h2>

<p style="text-align: justify;">Thay thế cho việc đọc dữ liệu đầu vào một cách tương tác, hầu hết các lệnh Linux đều hỗ trợ đối số. Bạn có thể cung cấp một đối số khi chạy một chương trình để kiểm soát hành vi của nó.</p>

<p style="text-align: justify;">Trong script của mình, bạn có thể sử dụng&nbsp;<strong>$1</strong>&nbsp;để tham chiếu đến một biến đặc biệt chứa giá trị của đối số đầu tiên.&nbsp;<strong>$2</strong>&nbsp;sẽ đề cập đến đối số thứ hai, v.v...</p>

<p style="text-align: justify;">1. Tạo một thư mục bằng lệnh mkdir từ ví dụ trước. Tuy nhiên, lần này, hãy sử dụng biến tích hợp&nbsp;<strong>$1</strong>:</p>

<pre id="pre9">
<code>#!/bin/bash
mkdir $1</code></pre>

<p style="text-align: justify;">2. Chạy script, lần này chuyển tên thư mục mới mà bạn đã chọn làm đối số:</p>

<pre id="pre10">
<code>./arg_dir.sh Test</code></pre>

<p style="text-align: justify;">Bạn có thể thắc mắc điều gì sẽ xảy ra nếu bạn chạy script mà không cung cấp đối số nào cả. Hãy thử và xem; bạn sẽ nhận được thông báo lỗi bắt đầu&nbsp;<strong>&quot;usage: mkdir&quot;</strong>:</p>

<figure>
<div style="text-align: justify;"><img alt="Terminal hiển thị thông báo lỗi từ mkdir" data-i="2" data-src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-3.jpg" data-was-processed="true" height="640" src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-3.jpg" width="915" /></div>

<figcaption>
<div style="text-align: justify;">Terminal hiển thị thông báo lỗi từ mkdir</div>
</figcaption>
</figure>

<p style="text-align: justify;">Nếu không có bất kỳ đối số dòng lệnh nào, giá trị&nbsp;<strong>$1</strong>&nbsp;sẽ trống. Khi script của bạn gọi mkdir, script sẽ không chuyển đối số cho script đó và lệnh mkdir sẽ trả về lỗi đó. Để tránh điều này, bạn có thể tự kiểm tra tình trạng và đưa ra một lỗi thân thiện hơn:</p>

<p style="text-align: justify;">1. Như mọi khi, hãy bắt đầu với dòng shebang:</p>

<pre id="pre11">
<code>#!/bin/bash</code></pre>

<p style="text-align: justify;">2. Trước khi bạn gọi mkdir, hãy kiểm tra đối số đầu tiên trống (tức là không có đối số). Bạn có thể thực hiện việc này bằng câu lệnh if của Bash chạy code dựa trên một điều kiện:</p>

<pre id="pre12">
<code>if &#91;&quot;$1&quot; = &quot;&quot;&#93;; then</code></pre>

<p style="text-align: justify;">3. Nếu đối số đầu tiên trống, hãy in lỗi và thoát script của bạn:</p>

<pre id="pre13">
<code>    echo &quot;Please provide a new directory name as the first argument&quot;
    exit</code></pre>

<p style="text-align: justify;">4. Từ khóa&nbsp;<strong>&quot;fi&quot;</strong>&nbsp;hơi lạ (&quot;if&quot; đảo ngược) báo hiệu sự kết thúc của câu lệnh if trong Bash:</p>

<pre id="pre14">
<code>fi</code></pre>

<p style="text-align: justify;">5. Script của bạn bây giờ có thể tiếp tục như trước, để xử lý trường hợp khi có đối số:</p>

<pre id="pre15">
<code>mkdir $1</code></pre>

<p style="text-align: justify;">Khi chạy phiên bản script mới này, bạn sẽ nhận được thông báo nếu quên đưa vào đối số:</p>

<figure>
<div style="text-align: justify;"><img alt="Terminal hiển thị kết quả của Bash script đơn giản để tạo một thư mục" data-i="3" data-src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-4.jpg" data-was-processed="true" height="640" src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-4.jpg" width="915" /></div>

<figcaption>
<div style="text-align: justify;">Terminal hiển thị kết quả của Bash script đơn giản để tạo một thư mục</div>
</figcaption>
</figure>

<h2 style="text-align: justify;">4. Xóa file bằng hàm Bash</h2>

<p style="text-align: justify;">Nếu bạn thấy mình lặp lại cùng một code, hãy cân nhắc việc gói code đó vào một hàm. Sau đó, bạn có thể gọi hàm đó bất cứ khi nào bạn cần.</p>

<p style="text-align: justify;">Đây là một ví dụ về chức năng xóa một file nhất định.</p>

<p style="text-align: justify;">1. Bắt đầu với dòng shebang:</p>

<pre id="pre16">
<code>#!/bin/bash</code></pre>

<p style="text-align: justify;">2. Xác định hàm bằng cách viết tên của nó, theo sau là dấu ngoặc đơn trống và các lệnh bên trong dấu ngoặc nhọn:</p>

<pre id="pre17">
<code>del_file() {
    echo &quot;deleting $1&quot;
    rm $1
}</code></pre>

<p style="text-align: justify;">Sau đó, bạn có thể gọi hàm và truyền cho nó tên của file cần xóa:</p>

<pre id="pre18">
<code>del_file test.txt</code></pre>

<figure>
<div style="text-align: justify;"><img alt="Terminal hiển thị Bash script đang xóa một file" data-i="4" data-src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-5.jpg" data-was-processed="true" height="815" src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-5.jpg" width="1190" /></div>

<figcaption>
<div style="text-align: justify;">Terminal hiển thị Bash script đang xóa một file</div>
</figcaption>
</figure>

<p style="text-align: justify;">Khi bạn gọi một hàm, nó sẽ đặt giá trị&nbsp;<strong>$?&nbsp;</strong>đặc biệt với trạng thái exit của lệnh cuối cùng nó chạy. Trạng thái thoát rất hữu ích cho việc kiểm tra lỗi; trong ví dụ này, bạn có thể kiểm tra xem lệnh rm có thành công hay không:</p>

<pre id="pre19">
<code>if &#91; $? -ne 0 &#93;; then
    echo &quot;Sorry, could not delete the file&quot;
fi</code></pre>

<figure>
<div style="text-align: justify;"><img alt="Terminal hiển thị Bash script đang cố xóa một file nhưng lại tạo ra lỗi" data-i="5" data-src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-6.jpg" data-was-processed="true" height="815" src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-6.jpg" width="1190" /></div>

<figcaption>
<div style="text-align: justify;">Terminal hiển thị Bash script đang cố xóa một file nhưng lại tạo ra lỗi</div>
</figcaption>
</figure>

<h2 style="text-align: justify;">5. Tạo một máy tính cơ bản để tính toán số học</h2>

<p style="text-align: justify;">Ví dụ cuối cùng này minh họa một máy tính rất cơ bản. Khi chạy nó, bạn sẽ nhập hai giá trị, sau đó chọn một phép toán số học để thực hiện chúng.</p>

<p style="text-align: justify;">Đây là code cho&nbsp;<strong>calc.sh</strong>:</p>

<pre id="pre20">
<code>#!/bin/bash

# Take operands as input
echo &quot;Enter first number: &quot;
read a

echo &quot;Enter second number: &quot;
read b 

# Input type of operation
echo &quot;Enter Arithmetic Operation Choice :&quot;
echo &quot;1. Addition&quot;
echo &quot;2. Subtraction&quot;
echo &quot;3. Multiplication&quot;
echo &quot;4. Division&quot;
read choice 

# calculator operations
case $choice in
  1)
 result=`echo $a + $b | bc`
  ;;

  2)
 result=`echo $a - $b | bc`
 ;;

  3)
 result=`echo $a \* $b | bc`
  ;;

  4)
 result=`echo &quot;scale=2; $a / $b&quot; | bc`
  ;;
esac

echo &quot;Result: $result&quot;</code></pre>

<p style="text-align: justify;">Lưu ý việc sử dụng&nbsp;<strong>case ... esac</strong>&nbsp;tương đương với câu lệnh switch của Bash từ các ngôn ngữ khác. Nó cho phép bạn kiểm tra một giá trị - trong trường hợp này là biến&nbsp;<strong>choice&nbsp;</strong>- với một số giá trị cố định và chạy code liên quan.</p>

<p style="text-align: justify;">Script này sử dụng lệnh&nbsp;<strong>bc</strong>&nbsp;để thực hiện từng phép tính.</p>

<figure>
<div style="text-align: justify;"><img alt="Terminal hiển thị đầu ra từ máy tính shell cơ bản" data-i="6" data-src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-7.jpg" data-was-processed="true" height="815" src="https://st.quantrimang.com/photos/image/2024/01/10/bash-script-vi-du-giup-hoc-lap-trinh-linux-7.jpg" width="1190" /></div>

<figcaption>
<div style="text-align: justify;">Terminal hiển thị đầu ra từ máy tính shell cơ bản</div>
</figcaption>
</figure>

<div style="text-align: justify;">&nbsp;</div>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/5-bash-script-vi-du-giup-ban-hoc-lap-trinh-linux-7943.html" title="5 bash script ví dụ giúp bạn học lập trình Linux">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/5-bash-script-vi-du-giup-ban-hoc-lap-trinh-linux-7943.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://www.nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://www.nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<script src="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://www.nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://www.nguoicodonvn2008.info",
            "logo": "https://www.nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>