{"id":3568,"date":"2024-11-13T10:00:06","date_gmt":"2024-11-13T10:00:06","guid":{"rendered":"https:\/\/draculaservers.com\/tutorials\/?p=3568"},"modified":"2024-12-01T09:46:02","modified_gmt":"2024-12-01T09:46:02","slug":"loops-in-bash-scripting-with-examples","status":"publish","type":"post","link":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/","title":{"rendered":"Loops in Bash Scripting with Examples"},"content":{"rendered":"<div class=\"cl-preview-section\">\n<p>Loops are a fundamental concept in programming that allows you to execute a block of code multiple times. In Bash scripting, loops are particularly powerful for automating repetitive tasks, managing files, processing data, and more. Understanding how to use loops effectively in Bash can significantly enhance your scripting abilities.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>This article provides an in-depth exploration of loops in Bash scripting, complete with examples and best practices. By the end, you\u2019ll have a solid understanding of the various types of loops available in Bash and how to use them to streamline your tasks.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<hr \/>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"why-use-loops-in-bash-scripting\">Why Use Loops in Bash Scripting?<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Loops save time and effort by automating repetitive tasks. For example:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<ul>\n<li>Iterating over a list of files in a directory.<\/li>\n<li>Processing data line by line in a file.<\/li>\n<li>Running a specific command a set number of times.<\/li>\n<\/ul>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Bash offers several types of loops, each suited to different scenarios. These include:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<ul>\n<li><code>for<\/code>\u00a0loops<\/li>\n<li><code>while<\/code>\u00a0loops<\/li>\n<li><code>until<\/code>\u00a0loops<\/li>\n<li>Loop control statements (<code>break<\/code>\u00a0and\u00a0<code>continue<\/code>)<\/li>\n<\/ul>\n<\/div>\n<div class=\"cl-preview-section\">\n<hr \/>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"prerequisites\">Prerequisites<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Before diving into loops, ensure you have the following:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<ul>\n<li>A Linux system with Bash installed (most Linux distributions come with Bash by default).<\/li>\n<li>Basic knowledge of Bash scripting (e.g., variables, conditional statements).<\/li>\n<li>A text editor like\u00a0<code>nano<\/code>,\u00a0<code>vim<\/code>, or\u00a0<code>gedit<\/code>\u00a0to create and edit scripts.<\/li>\n<\/ul>\n<\/div>\n<div class=\"cl-preview-section\">\n<hr \/>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"types-of-loops-in-bash-scripting\">Types of Loops in Bash Scripting<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"for-loops\"><span id=\"1-for-loops\">1.\u00a0<code>for<\/code>\u00a0Loops<\/span><\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>A\u00a0<code>for<\/code>\u00a0loop is used to iterate over a series of items. It\u2019s ideal for processing lists, arrays, or ranges.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"syntax\">Syntax:<\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token keyword\">for<\/span> variable <span class=\"token keyword\">in<\/span> list\r\n<span class=\"token keyword\">do<\/span>\r\n    commands\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"example-1-iterating-over-a-list\">Example 1: Iterating Over a List<\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n<span class=\"token keyword\">for<\/span> fruit <span class=\"token keyword\">in<\/span> apple banana cherry\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"I like <span class=\"token variable\">$fruit<\/span>\"<\/span>\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<p><strong>Output:<\/strong><\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre><code>I like apple\r\nI like banana\r\nI like cherry\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"example-2-iterating-over-files-in-a-directory\">Example 2: Iterating Over Files in a Directory<\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n<span class=\"token keyword\">for<\/span> <span class=\"token function\">file<\/span> <span class=\"token keyword\">in<\/span> \/path\/to\/directory\/*\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Processing <span class=\"token variable\">$file<\/span>\"<\/span>\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"example-3-using-a-range\">Example 3: Using a Range<\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n<span class=\"token keyword\">for<\/span> number <span class=\"token keyword\">in<\/span> <span class=\"token punctuation\">{<\/span>1<span class=\"token punctuation\">..<\/span>5<span class=\"token punctuation\">}<\/span>\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Number: <span class=\"token variable\">$number<\/span>\"<\/span>\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<p><strong>Output:<\/strong><\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre><code>Number: 1\r\nNumber: 2\r\nNumber: 3\r\nNumber: 4\r\nNumber: 5\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<hr \/>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"while-loops\"><span id=\"2-while-loops\">2.\u00a0<code>while<\/code>\u00a0Loops<\/span><\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>A\u00a0<code>while<\/code>\u00a0loop executes as long as a specified condition is true. It\u2019s often used when the number of iterations is unknown.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"syntax-1\"><span id=\"syntax-2\">Syntax:<\/span><\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token keyword\">while<\/span> <span class=\"token punctuation\">[<\/span> condition <span class=\"token punctuation\">]<\/span>\r\n<span class=\"token keyword\">do<\/span>\r\n    commands\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"example-1-counting-down\">Example 1: Counting Down<\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\ncount<span class=\"token operator\">=<\/span>5\r\n<span class=\"token keyword\">while<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token variable\">$count<\/span> -gt 0 <span class=\"token punctuation\">]<\/span>\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Countdown: <span class=\"token variable\">$count<\/span>\"<\/span>\r\n    count<span class=\"token operator\">=<\/span><span class=\"token variable\">$((count <span class=\"token operator\">-<\/span> <span class=\"token number\">1<\/span>))<\/span>\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<p><strong>Output:<\/strong><\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre><code>Countdown: 5\r\nCountdown: 4\r\nCountdown: 3\r\nCountdown: 2\r\nCountdown: 1\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"example-2-reading-a-file-line-by-line\">Example 2: Reading a File Line by Line<\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n<span class=\"token keyword\">while<\/span> IFS<span class=\"token operator\">=<\/span> <span class=\"token function\">read<\/span> -r line\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Line: <span class=\"token variable\">$line<\/span>\"<\/span>\r\n<span class=\"token keyword\">done<\/span> <span class=\"token operator\">&lt;<\/span> input.txt\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<hr \/>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"until-loops\"><span id=\"3-until-loops\">3.\u00a0<code>until<\/code>\u00a0Loops<\/span><\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>An\u00a0<code>until<\/code>\u00a0loop is similar to a\u00a0<code>while<\/code>\u00a0loop but executes until a specified condition becomes true.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"syntax-2\"><span id=\"syntax-3\">Syntax:<\/span><\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token keyword\">until<\/span> <span class=\"token punctuation\">[<\/span> condition <span class=\"token punctuation\">]<\/span>\r\n<span class=\"token keyword\">do<\/span>\r\n    commands\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"example-incrementing-a-counter\">Example: Incrementing a Counter<\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\ncount<span class=\"token operator\">=<\/span>1\r\n<span class=\"token keyword\">until<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token variable\">$count<\/span> -gt 5 <span class=\"token punctuation\">]<\/span>\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Count: <span class=\"token variable\">$count<\/span>\"<\/span>\r\n    count<span class=\"token operator\">=<\/span><span class=\"token variable\">$((count <span class=\"token operator\">+<\/span> <span class=\"token number\">1<\/span>))<\/span>\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<p><strong>Output:<\/strong><\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre><code>Count: 1\r\nCount: 2\r\nCount: 3\r\nCount: 4\r\nCount: 5\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<hr \/>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"nested-loops\"><span id=\"4-nested-loops\">4. Nested Loops<\/span><\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>You can nest loops within each other to handle more complex scenarios.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"example-multiplication-table\">Example: Multiplication Table<\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n<span class=\"token keyword\">for<\/span> i <span class=\"token keyword\">in<\/span> <span class=\"token punctuation\">{<\/span>1<span class=\"token punctuation\">..<\/span>5<span class=\"token punctuation\">}<\/span>\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">for<\/span> j <span class=\"token keyword\">in<\/span> <span class=\"token punctuation\">{<\/span>1<span class=\"token punctuation\">..<\/span>5<span class=\"token punctuation\">}<\/span>\r\n    <span class=\"token keyword\">do<\/span>\r\n        <span class=\"token keyword\">echo<\/span> -n <span class=\"token string\">\"<span class=\"token variable\">$((i <span class=\"token operator\">*<\/span> j))<\/span> \"<\/span>\r\n    <span class=\"token keyword\">done<\/span>\r\n    <span class=\"token keyword\">echo<\/span>\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<p><strong>Output:<\/strong><\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre><code>1 2 3 4 5 \r\n2 4 6 8 10 \r\n3 6 9 12 15 \r\n4 8 12 16 20 \r\n5 10 15 20 25 \r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<hr \/>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"loop-control-statements\"><span id=\"5-loop-control-statements\">5. Loop Control Statements<\/span><\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"a.-break\"><span id=\"a-break\">a.\u00a0<code>break<\/code><\/span><\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>The\u00a0<code>break<\/code>\u00a0statement exits a loop prematurely when a condition is met.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n<span class=\"token keyword\">for<\/span> i <span class=\"token keyword\">in<\/span> <span class=\"token punctuation\">{<\/span>1<span class=\"token punctuation\">..<\/span>10<span class=\"token punctuation\">}<\/span>\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token variable\">$i<\/span> -eq 5 <span class=\"token punctuation\">]<\/span>\r\n    <span class=\"token keyword\">then<\/span>\r\n        <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Breaking the loop at <span class=\"token variable\">$i<\/span>\"<\/span>\r\n        <span class=\"token keyword\">break<\/span>\r\n    <span class=\"token keyword\">fi<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Number: <span class=\"token variable\">$i<\/span>\"<\/span>\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<p><strong>Output:<\/strong><\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre><code>Number: 1\r\nNumber: 2\r\nNumber: 3\r\nNumber: 4\r\nBreaking the loop at 5\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h4 id=\"b.-continue\"><span id=\"b-continue\">b.\u00a0<code>continue<\/code><\/span><\/h4>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>The\u00a0<code>continue<\/code>\u00a0statement skips the current iteration and moves to the next.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n<span class=\"token keyword\">for<\/span> i <span class=\"token keyword\">in<\/span> <span class=\"token punctuation\">{<\/span>1<span class=\"token punctuation\">..<\/span>5<span class=\"token punctuation\">}<\/span>\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token variable\">$i<\/span> -eq 3 <span class=\"token punctuation\">]<\/span>\r\n    <span class=\"token keyword\">then<\/span>\r\n        <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Skipping <span class=\"token variable\">$i<\/span>\"<\/span>\r\n        <span class=\"token keyword\">continue<\/span>\r\n    <span class=\"token keyword\">fi<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Number: <span class=\"token variable\">$i<\/span>\"<\/span>\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<p><strong>Output:<\/strong><\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre><code>Number: 1\r\nNumber: 2\r\nSkipping 3\r\nNumber: 4\r\nNumber: 5\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<hr \/>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"practical-applications-of-loops-in-bash\">Practical Applications of Loops in Bash<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"batch-renaming-files\"><span id=\"1-batch-renaming-files\">1. Batch Renaming Files<\/span><\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n<span class=\"token keyword\">for<\/span> <span class=\"token function\">file<\/span> <span class=\"token keyword\">in<\/span> *.txt\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token function\">mv<\/span> <span class=\"token string\">\"<span class=\"token variable\">$file<\/span>\"<\/span> <span class=\"token string\">\"<span class=\"token variable\">${file%.txt}<\/span>.bak\"<\/span>\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"monitoring-system-resources\"><span id=\"2-monitoring-system-resources\">2. Monitoring System Resources<\/span><\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n<span class=\"token keyword\">while<\/span> <span class=\"token boolean\">true<\/span>\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"CPU Usage: $(top -bn1 | grep \"<\/span>Cpu<span class=\"token punctuation\">(<\/span>s<span class=\"token punctuation\">)<\/span><span class=\"token string\">\" | awk '{print <span class=\"token variable\">$2<\/span>}')%\"<\/span>\r\n    <span class=\"token function\">sleep<\/span> 5\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"backup-script\"><span id=\"3-backup-script\">3. Backup Script<\/span><\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n<span class=\"token keyword\">for<\/span> <span class=\"token function\">file<\/span> <span class=\"token keyword\">in<\/span> \/source\/directory\/*\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token function\">cp<\/span> <span class=\"token string\">\"<span class=\"token variable\">$file<\/span>\"<\/span> \/backup\/directory\/\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<hr \/>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"best-practices-for-using-loops-in-bash\">Best Practices for Using Loops in Bash<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<ol>\n<li><strong>Avoid Infinite Loops<\/strong>: Ensure your loop conditions eventually terminate.\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token keyword\">while<\/span> <span class=\"token keyword\">:<\/span>  <span class=\"token comment\"># Infinite loop<\/span>\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Press Ctrl+C to exit\"<\/span>\r\n    <span class=\"token function\">sleep<\/span> 1\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/li>\n<li><strong>Use Meaningful Variable Names<\/strong>: Choose descriptive names for loop variables.\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token keyword\">for<\/span> filename <span class=\"token keyword\">in<\/span> *.jpg\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Processing <span class=\"token variable\">$filename<\/span>\"<\/span>\r\n<span class=\"token keyword\">done<\/span>\r\n\r\n<\/code><\/pre>\n<\/li>\n<li><strong>Test Loops Carefully<\/strong>: Test with small datasets before applying to large or critical tasks.<\/li>\n<li><strong>Optimize for Performance<\/strong>: Minimize resource usage within loops, especially for large datasets.<\/li>\n<\/ol>\n<\/div>\n<div class=\"cl-preview-section\">\n<hr \/>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"debugging-loops\">Debugging Loops<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Use the\u00a0<code>set -x<\/code>\u00a0command to enable debugging and see how each command is executed:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n<span class=\"token keyword\">set<\/span> -x\r\n<span class=\"token keyword\">for<\/span> i <span class=\"token keyword\">in<\/span> <span class=\"token punctuation\">{<\/span>1<span class=\"token punctuation\">..<\/span>3<span class=\"token punctuation\">}<\/span>\r\n<span class=\"token keyword\">do<\/span>\r\n    <span class=\"token keyword\">echo<\/span> <span class=\"token string\">\"Iteration <span class=\"token variable\">$i<\/span>\"<\/span>\r\n<span class=\"token keyword\">done<\/span>\r\n<span class=\"token keyword\">set<\/span> +x\r\n\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<hr \/>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Loops are an essential tool in Bash scripting that can significantly enhance your productivity by automating repetitive tasks. This guide covered the main types of loops (<code>for<\/code>,\u00a0<code>while<\/code>,\u00a0<code>until<\/code>), nested loops, and control statements like\u00a0<code>break<\/code>\u00a0and\u00a0<code>continue<\/code>. We also explored practical applications, best practices, and debugging techniques to make the most out of loops.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>By mastering loops in Bash scripting, you can write more efficient and robust scripts, streamline your workflows, and tackle complex automation challenges with confidence.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Loops are a fundamental concept in programming that allows you to execute a block of code multiple times. In Bash scripting, loops are particularly powerful for automating repetitive tasks, managing files, processing data, and more. Understanding how to use loops effectively in Bash can significantly enhance your scripting abilities. This article provides an in-depth exploration [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":3569,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[172],"tags":[205,683,682],"class_list":["post-3568","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux-tutorials","tag-bash-scripting","tag-looping-examples-in-bash","tag-loops-in-bash-scripting"],"blocksy_meta":[],"featured_image_urls_v2":{"full":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74.png",1280,720,false],"thumbnail":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74-150x150.png",150,150,true],"medium":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74-300x169.png",300,169,true],"medium_large":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74-768x432.png",768,432,true],"large":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74-1024x576.png",1024,576,true],"1536x1536":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74.png",1280,720,false],"2048x2048":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74.png",1280,720,false],"pk-small":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74-80x80.png",80,80,true],"pk-thumbnail":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74-300x225.png",300,225,true]},"post_excerpt_stackable_v2":"<p>Loops are a fundamental concept in programming that allows you to execute a block of code multiple times. In Bash scripting, loops are particularly powerful for automating repetitive tasks, managing files, processing data, and more. Understanding how to use loops effectively in Bash can significantly enhance your scripting abilities. This article provides an in-depth exploration of loops in Bash scripting, complete with examples and best practices. By the end, you\u2019ll have a solid understanding of the various types of loops available in Bash and how to use them to streamline your tasks. Why Use Loops in Bash Scripting? Loops save&hellip;<\/p>\n","category_list_v2":"<a href=\"https:\/\/draculaservers.com\/tutorials\/category\/linux-tutorials\/\" rel=\"category tag\">Linux Tutorials<\/a>","author_info_v2":{"name":"Abdul Mannan","url":"https:\/\/draculaservers.com\/tutorials\/author\/abdul-mannan-tbgmail-com\/"},"comments_num_v2":"0 comments","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Loops in Bash Scripting with Examples - Dracula Servers Tutorials<\/title>\n<meta name=\"description\" content=\"Are you new to bash scripting and worried about how loops work? Learn all the different types of loops available in bash scripting with this guide.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Loops in Bash Scripting with Examples - Dracula Servers Tutorials\" \/>\n<meta property=\"og:description\" content=\"Are you new to bash scripting and worried about how loops work? Learn all the different types of loops available in bash scripting with this guide.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/\" \/>\n<meta property=\"og:site_name\" content=\"Dracula Servers Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-13T10:00:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-01T09:46:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Abdul Mannan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Abdul Mannan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/\"},\"author\":{\"name\":\"Abdul Mannan\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#\\\/schema\\\/person\\\/ac89d0281f4fb596bfaa0bc1e746c8a6\"},\"headline\":\"Loops in Bash Scripting with Examples\",\"datePublished\":\"2024-11-13T10:00:06+00:00\",\"dateModified\":\"2024-12-01T09:46:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/\"},\"wordCount\":512,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/Dracula-Servers-Thumbnail-74.png\",\"keywords\":[\"Bash Scripting\",\"Looping examples in Bash\",\"Loops in bash scripting\"],\"articleSection\":[\"Linux Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/\",\"name\":\"Loops in Bash Scripting with Examples - Dracula Servers Tutorials\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/Dracula-Servers-Thumbnail-74.png\",\"datePublished\":\"2024-11-13T10:00:06+00:00\",\"dateModified\":\"2024-12-01T09:46:02+00:00\",\"description\":\"Are you new to bash scripting and worried about how loops work? Learn all the different types of loops available in bash scripting with this guide.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/#primaryimage\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/Dracula-Servers-Thumbnail-74.png\",\"contentUrl\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/Dracula-Servers-Thumbnail-74.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/loops-in-bash-scripting-with-examples\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Loops in Bash Scripting with Examples\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#website\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/\",\"name\":\"Dracula Servers Tutorials\",\"description\":\"Dedicated Servers\",\"publisher\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#organization\",\"name\":\"Dracula Servers\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2016\\\/06\\\/dracula_full_logo_smaller.png\",\"contentUrl\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2016\\\/06\\\/dracula_full_logo_smaller.png\",\"width\":1625,\"height\":200,\"caption\":\"Dracula Servers\"},\"image\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#\\\/schema\\\/person\\\/ac89d0281f4fb596bfaa0bc1e746c8a6\",\"name\":\"Abdul Mannan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2809442d44177cab4f90e1d9b3295560462063881ca1374b6d597d8f0b48fc21?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2809442d44177cab4f90e1d9b3295560462063881ca1374b6d597d8f0b48fc21?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2809442d44177cab4f90e1d9b3295560462063881ca1374b6d597d8f0b48fc21?s=96&d=mm&r=g\",\"caption\":\"Abdul Mannan\"},\"description\":\"An individual trying to decipher the enigmas of technology by the sheer driving force of curiosity. Interested in learning new skills and being better at those skills than the lot.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Loops in Bash Scripting with Examples - Dracula Servers Tutorials","description":"Are you new to bash scripting and worried about how loops work? Learn all the different types of loops available in bash scripting with this guide.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/","og_locale":"en_US","og_type":"article","og_title":"Loops in Bash Scripting with Examples - Dracula Servers Tutorials","og_description":"Are you new to bash scripting and worried about how loops work? Learn all the different types of loops available in bash scripting with this guide.","og_url":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/","og_site_name":"Dracula Servers Tutorials","article_published_time":"2024-11-13T10:00:06+00:00","article_modified_time":"2024-12-01T09:46:02+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74.png","type":"image\/png"}],"author":"Abdul Mannan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Abdul Mannan","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/#article","isPartOf":{"@id":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/"},"author":{"name":"Abdul Mannan","@id":"https:\/\/draculaservers.com\/tutorials\/#\/schema\/person\/ac89d0281f4fb596bfaa0bc1e746c8a6"},"headline":"Loops in Bash Scripting with Examples","datePublished":"2024-11-13T10:00:06+00:00","dateModified":"2024-12-01T09:46:02+00:00","mainEntityOfPage":{"@id":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/"},"wordCount":512,"commentCount":0,"publisher":{"@id":"https:\/\/draculaservers.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/#primaryimage"},"thumbnailUrl":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74.png","keywords":["Bash Scripting","Looping examples in Bash","Loops in bash scripting"],"articleSection":["Linux Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/","url":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/","name":"Loops in Bash Scripting with Examples - Dracula Servers Tutorials","isPartOf":{"@id":"https:\/\/draculaservers.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/#primaryimage"},"image":{"@id":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/#primaryimage"},"thumbnailUrl":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74.png","datePublished":"2024-11-13T10:00:06+00:00","dateModified":"2024-12-01T09:46:02+00:00","description":"Are you new to bash scripting and worried about how loops work? Learn all the different types of loops available in bash scripting with this guide.","breadcrumb":{"@id":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/#primaryimage","url":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74.png","contentUrl":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/12\/Dracula-Servers-Thumbnail-74.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/draculaservers.com\/tutorials\/loops-in-bash-scripting-with-examples\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/draculaservers.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Loops in Bash Scripting with Examples"}]},{"@type":"WebSite","@id":"https:\/\/draculaservers.com\/tutorials\/#website","url":"https:\/\/draculaservers.com\/tutorials\/","name":"Dracula Servers Tutorials","description":"Dedicated Servers","publisher":{"@id":"https:\/\/draculaservers.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/draculaservers.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/draculaservers.com\/tutorials\/#organization","name":"Dracula Servers","url":"https:\/\/draculaservers.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/draculaservers.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2016\/06\/dracula_full_logo_smaller.png","contentUrl":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2016\/06\/dracula_full_logo_smaller.png","width":1625,"height":200,"caption":"Dracula Servers"},"image":{"@id":"https:\/\/draculaservers.com\/tutorials\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/draculaservers.com\/tutorials\/#\/schema\/person\/ac89d0281f4fb596bfaa0bc1e746c8a6","name":"Abdul Mannan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/2809442d44177cab4f90e1d9b3295560462063881ca1374b6d597d8f0b48fc21?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2809442d44177cab4f90e1d9b3295560462063881ca1374b6d597d8f0b48fc21?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2809442d44177cab4f90e1d9b3295560462063881ca1374b6d597d8f0b48fc21?s=96&d=mm&r=g","caption":"Abdul Mannan"},"description":"An individual trying to decipher the enigmas of technology by the sheer driving force of curiosity. Interested in learning new skills and being better at those skills than the lot."}]}},"_links":{"self":[{"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/posts\/3568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/comments?post=3568"}],"version-history":[{"count":1,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/posts\/3568\/revisions"}],"predecessor-version":[{"id":3570,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/posts\/3568\/revisions\/3570"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/media\/3569"}],"wp:attachment":[{"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/media?parent=3568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/categories?post=3568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/tags?post=3568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}