{"id":3552,"date":"2024-05-03T10:00:45","date_gmt":"2024-05-03T10:00:45","guid":{"rendered":"https:\/\/draculaservers.com\/tutorials\/?p=3552"},"modified":"2024-08-05T19:49:35","modified_gmt":"2024-08-05T19:49:35","slug":"linux-expect-command","status":"publish","type":"post","link":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/","title":{"rendered":"Linux &#8220;Expect&#8221; Command &#8211; Complete Guide"},"content":{"rendered":"<div class=\"cl-preview-section\"><\/div>\n<div class=\"cl-preview-section\">\n<div class=\"cl-preview-section\">\u00a0The Expect command in Linux is a powerful tool used to automate interactions with programs that require user input. It\u2019s particularly useful for scripting interactive applications, automating repetitive tasks, and testing user interfaces.<\/div>\n<div class=\"cl-preview-section\">\n<p>In this guide, we\u2019ll delve into the intricacies of the Expect command, provide practical examples, and explore advanced usage scenarios to help you harness its full potential.<\/p>\n\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"what-is-expect\">What is Expect?<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Expect is a program that \u201ctalks\u201d to other interactive programs according to a script. Following the script, Expect knows what can be expected from a program and what the correct response should be. It was designed to automate control of interactive applications such as telnet, ftp, passwd, fsck, rlogin, and others.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"key-features-of-expect\">Key Features of Expect<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<ul>\n<li><strong>Automate Interactive Applications<\/strong>: Automate tasks that require user interaction.<\/li>\n<li><strong>Test Scripts<\/strong>: Create scripts to test interactive applications.<\/li>\n<li><strong>Flexible Control<\/strong>: Offers precise control over the input\/output of applications.<\/li>\n<\/ul>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"installing-expect\">Installing Expect<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Expect is available in the package repositories of most Linux distributions. To install it, use the following commands based on your distribution:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"on-debian-based-systems-e.g.-ubuntu\"><span id=\"on-debian-based-systems-e-g-ubuntu\">On Debian-based Systems (e.g., Ubuntu)<\/span><\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token function\">sudo<\/span> <span class=\"token function\">apt-get<\/span> update\r\n<span class=\"token function\">sudo<\/span> <span class=\"token function\">apt-get<\/span> <span class=\"token function\">install<\/span> <span class=\"token function\">expect<\/span>\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"on-red-hat-based-systems-e.g.-centos-fedora\"><span id=\"on-red-hat-based-systems-e-g-centos-fedora\">On Red Hat-based Systems (e.g., CentOS, Fedora)<\/span><\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token function\">sudo<\/span> yum <span class=\"token function\">install<\/span> <span class=\"token function\">expect<\/span>\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"on-arch-linux\">On Arch Linux<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token function\">sudo<\/span> pacman -S <span class=\"token function\">expect<\/span>\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"verifying-the-installation\">Verifying the Installation<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>To verify that Expect is installed correctly, you can check its version:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token function\">expect<\/span> -v\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>This command should display the installed version of Expect.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"basic-usage-of-expect\">Basic Usage of Expect<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Expect scripts are written in Tcl (Tool Command Language), which is the scripting language Expect is built upon. The basic structure of an Expect script involves sending commands to a program and waiting for specific responses.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"a-simple-expect-script\">A Simple Expect Script<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Here\u2019s a simple Expect script to automate logging into a remote server via SSH:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-tcl\"><code class=\"prism  language-tcl\"><span class=\"token comment\">#!\/usr\/bin\/expect<\/span>\r\n\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">timeout<\/span> 20\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">user<\/span> <span class=\"token string\">\"username\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">password<\/span> <span class=\"token string\">\"password\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">host<\/span> <span class=\"token string\">\"hostname\"<\/span>\r\n\r\nspawn ssh $<span class=\"token variable\">user<\/span>@$<span class=\"token variable\">host<\/span>\r\nexpect <span class=\"token string\">\"password:\"<\/span>\r\nsend <span class=\"token string\">\"$password\\r\"<\/span>\r\nexpect <span class=\"token string\">\"$ \"<\/span>\r\nsend <span class=\"token string\">\"ls -l\\r\"<\/span>\r\nexpect <span class=\"token string\">\"$ \"<\/span>\r\nsend <span class=\"token string\">\"exit\\r\"<\/span>\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"explanation\">Explanation<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<ul>\n<li><code>#!\/usr\/bin\/expect<\/code>: Specifies the script interpreter.<\/li>\n<li><code>set timeout 20<\/code>: Sets the timeout for the script.<\/li>\n<li><code>set user \"username\"<\/code>: Sets the username variable.<\/li>\n<li><code>set password \"password\"<\/code>: Sets the password variable.<\/li>\n<li><code>set host \"hostname\"<\/code>: Sets the hostname variable.<\/li>\n<li><code>spawn ssh $user@$host<\/code>: Initiates the SSH connection.<\/li>\n<li><code>expect \"password:\"<\/code>: Waits for the password prompt.<\/li>\n<li><code>send \"$password\\r\"<\/code>: Sends the password.<\/li>\n<li><code>expect \"$ \"<\/code>: Waits for the shell prompt.<\/li>\n<li><code>send \"ls -l\\r\"<\/code>: Sends the\u00a0<code>ls -l<\/code>\u00a0command.<\/li>\n<li><code>expect \"$ \"<\/code>: Waits for the shell prompt.<\/li>\n<li><code>send \"exit\\r\"<\/code>: Exits the SSH session.<\/li>\n<\/ul>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"running-the-script\">Running the Script<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>To run the Expect script, save it to a file (e.g.,\u00a0<code>ssh_login.exp<\/code>) and make it executable:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-bash\"><code class=\"prism  language-bash\"><span class=\"token function\">chmod<\/span> +x ssh_login.exp\r\n.\/ssh_login.exp\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"advanced-expect-commands\">Advanced Expect Commands<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"interacting-with-multiple-prompts\">Interacting with Multiple Prompts<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Expect can handle multiple prompts and responses in a single script. Here\u2019s an example of an Expect script that handles both username and password prompts:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-tcl\"><code class=\"prism  language-tcl\"><span class=\"token comment\">#!\/usr\/bin\/expect<\/span>\r\n\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">timeout<\/span> 20\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">user<\/span> <span class=\"token string\">\"username\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">password<\/span> <span class=\"token string\">\"password\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">host<\/span> <span class=\"token string\">\"hostname\"<\/span>\r\n\r\nspawn ssh $<span class=\"token variable\">host<\/span>\r\nexpect <span class=\"token punctuation\">{<\/span>\r\n    <span class=\"token string\">\"username:\"<\/span> <span class=\"token punctuation\">{<\/span>\r\n        send <span class=\"token string\">\"$user\\r\"<\/span>\r\n        exp_continue\r\n    <span class=\"token punctuation\">}<\/span>\r\n    <span class=\"token string\">\"password:\"<\/span> <span class=\"token punctuation\">{<\/span>\r\n        send <span class=\"token string\">\"$password\\r\"<\/span>\r\n    <span class=\"token punctuation\">}<\/span>\r\n<span class=\"token punctuation\">}<\/span>\r\nexpect <span class=\"token string\">\"$ \"<\/span>\r\nsend <span class=\"token string\">\"ls -l\\r\"<\/span>\r\nexpect <span class=\"token string\">\"$ \"<\/span>\r\nsend <span class=\"token string\">\"exit\\r\"<\/span>\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"using-variables-and-control-structures\">Using Variables and Control Structures<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Expect scripts can use variables and control structures (loops, conditionals) to make the scripts more dynamic and flexible. Here\u2019s an example that demonstrates the use of a loop to automate multiple SSH logins:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-tcl\"><code class=\"prism  language-tcl\"><span class=\"token comment\">#!\/usr\/bin\/expect<\/span>\r\n\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">timeout<\/span> 20\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">hosts<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token string\">\"host1\"<\/span> <span class=\"token string\">\"host2\"<\/span> <span class=\"token string\">\"host3\"<\/span><span class=\"token punctuation\">}<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">user<\/span> <span class=\"token string\">\"username\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">password<\/span> <span class=\"token string\">\"password\"<\/span>\r\n\r\n<span class=\"token builtin\">foreach<\/span> host $<span class=\"token variable\">hosts<\/span> <span class=\"token punctuation\">{<\/span>\r\n    spawn ssh $<span class=\"token variable\">user<\/span>@$<span class=\"token variable\">host<\/span>\r\n    expect <span class=\"token string\">\"password:\"<\/span>\r\n    send <span class=\"token string\">\"$password\\r\"<\/span>\r\n    expect <span class=\"token string\">\"$ \"<\/span>\r\n    send <span class=\"token string\">\"uptime\\r\"<\/span>\r\n    expect <span class=\"token string\">\"$ \"<\/span>\r\n    send <span class=\"token string\">\"exit\\r\"<\/span>\r\n<span class=\"token punctuation\">}<\/span>\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"logging-output\">Logging Output<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Expect provides logging capabilities to capture the output of the interactions. This can be useful for debugging and record-keeping. Here\u2019s an example:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-tcl\"><code class=\"prism  language-tcl\"><span class=\"token comment\">#!\/usr\/bin\/expect<\/span>\r\n\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">timeout<\/span> 20\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">user<\/span> <span class=\"token string\">\"username\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">password<\/span> <span class=\"token string\">\"password\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">host<\/span> <span class=\"token string\">\"hostname\"<\/span>\r\nlog_file <span class=\"token operator\">-<\/span>noappend <span class=\"token operator\">\/<\/span>path<span class=\"token operator\">\/<\/span>to<span class=\"token operator\">\/<\/span>logfile.log\r\n\r\nspawn ssh $<span class=\"token variable\">user<\/span>@$<span class=\"token variable\">host<\/span>\r\nexpect <span class=\"token string\">\"password:\"<\/span>\r\nsend <span class=\"token string\">\"$password\\r\"<\/span>\r\nexpect <span class=\"token string\">\"$ \"<\/span>\r\nsend <span class=\"token string\">\"ls -l\\r\"<\/span>\r\nexpect <span class=\"token string\">\"$ \"<\/span>\r\nsend <span class=\"token string\">\"exit\\r\"<\/span>\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<div class=\"cl-preview-section\">\n<h2 id=\"affordable-vps-hosting-with-dracula-servers\"><span style=\"color: #ff2600;\">Affordable VPS Hosting With Dracula Servers<\/span><\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Looking for reliable and budget-friendly Virtual Private Server (VPS) hosting? Look no further than\u00a0<a href=\"https:\/\/draculaservers.com\/\">Dracula Servers<\/a>. Dracula Servers offers a range of VPS hosting plans tailored to meet diverse needs. With competitive pricing, robust performance, and a user-friendly interface, it\u2019s an excellent choice for individuals and businesses alike.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Explore the\u00a0<a href=\"https:\/\/draculaservers.com\/\">Dracula Servers website<\/a> to discover hosting solutions that align with your requirements and take your online presence to new heights with their affordable and efficient VPS hosting services.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<p><a href=\"https:\/\/draculaservers.com\/\"><strong>Visit Dracula Servers<\/strong><\/a>\u00a0and experience reliable VPS hosting without breaking the bank.<\/p>\n<\/div>\n<h2 id=\"real-world-applications\">Real-World Applications<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"automating-ftp-sessions\">Automating FTP Sessions<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Expect can automate FTP sessions by interacting with the FTP client. Here\u2019s an example script to upload a file to an FTP server:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-tcl\"><code class=\"prism  language-tcl\"><span class=\"token comment\">#!\/usr\/bin\/expect<\/span>\r\n\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">timeout<\/span> 20\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">user<\/span> <span class=\"token string\">\"ftpuser\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">password<\/span> <span class=\"token string\">\"ftppass\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">host<\/span> <span class=\"token string\">\"ftphost\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">file<\/span> <span class=\"token string\">\"\/path\/to\/file\"<\/span>\r\n\r\nspawn ftp $<span class=\"token variable\">host<\/span>\r\nexpect <span class=\"token string\">\"Name*:\"<\/span>\r\nsend <span class=\"token string\">\"$user\\r\"<\/span>\r\nexpect <span class=\"token string\">\"Password:\"<\/span>\r\nsend <span class=\"token string\">\"$password\\r\"<\/span>\r\nexpect <span class=\"token string\">\"ftp&gt;\"<\/span>\r\nsend <span class=\"token string\">\"put $file\\r\"<\/span>\r\nexpect <span class=\"token string\">\"ftp&gt;\"<\/span>\r\nsend <span class=\"token string\">\"bye\\r\"<\/span>\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"automating-software-installation\">Automating Software Installation<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Automating software installations that require user input during the process can save time and ensure consistency. Here\u2019s an example of automating a software installation:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-tcl\"><code class=\"prism  language-tcl\"><span class=\"token comment\">#!\/usr\/bin\/expect<\/span>\r\n\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">timeout<\/span> 60\r\n\r\nspawn sudo apt<span class=\"token operator\">-<\/span>get install somepackage\r\nexpect <span class=\"token string\">\"Do you want to continue? [Y\/n]\"<\/span>\r\nsend <span class=\"token string\">\"Y\\r\"<\/span>\r\nexpect eof\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"automated-testing\">Automated Testing<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Expect is widely used for automated testing of interactive applications. Here\u2019s a simple example of testing a CLI application:<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-tcl\"><code class=\"prism  language-tcl\"><span class=\"token comment\">#!\/usr\/bin\/expect<\/span>\r\n\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">timeout<\/span> 20\r\n\r\nspawn .<span class=\"token operator\">\/<\/span>mycliapp\r\nexpect <span class=\"token string\">\"Enter your name:\"<\/span>\r\nsend <span class=\"token string\">\"John Doe\\r\"<\/span>\r\nexpect <span class=\"token string\">\"Enter your age:\"<\/span>\r\nsend <span class=\"token string\">\"30\\r\"<\/span>\r\nexpect <span class=\"token string\">\"Welcome, John Doe\"<\/span>\r\nsend <span class=\"token string\">\"exit\\r\"<\/span>\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"best-practices-for-writing-expect-scripts\">Best Practices for Writing Expect Scripts<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"handle-errors-gracefully\">Handle Errors Gracefully<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Ensure your scripts can handle errors and unexpected situations gracefully. Use timeout and error handling mechanisms to manage such scenarios.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-tcl\"><code class=\"prism  language-tcl\"><span class=\"token comment\">#!\/usr\/bin\/expect<\/span>\r\n\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">timeout<\/span> 20\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">user<\/span> <span class=\"token string\">\"username\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">password<\/span> <span class=\"token string\">\"password\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">host<\/span> <span class=\"token string\">\"hostname\"<\/span>\r\n\r\nspawn ssh $<span class=\"token variable\">user<\/span>@$<span class=\"token variable\">host<\/span>\r\nexpect <span class=\"token punctuation\">{<\/span>\r\n    <span class=\"token string\">\"password:\"<\/span> <span class=\"token punctuation\">{<\/span>\r\n        send <span class=\"token string\">\"$password\\r\"<\/span>\r\n    <span class=\"token punctuation\">}<\/span>\r\n    timeout <span class=\"token punctuation\">{<\/span>\r\n        <span class=\"token keyword\">puts<\/span> <span class=\"token string\">\"Connection timed out\"<\/span>\r\n        <span class=\"token builtin\">exit<\/span> 1\r\n    <span class=\"token punctuation\">}<\/span>\r\n    <span class=\"token keyword\">eof<\/span> <span class=\"token punctuation\">{<\/span>\r\n        <span class=\"token keyword\">puts<\/span> <span class=\"token string\">\"Connection failed\"<\/span>\r\n        <span class=\"token builtin\">exit<\/span> 1\r\n    <span class=\"token punctuation\">}<\/span>\r\n<span class=\"token punctuation\">}<\/span>\r\nexpect <span class=\"token string\">\"$ \"<\/span>\r\nsend <span class=\"token string\">\"ls -l\\r\"<\/span>\r\nexpect <span class=\"token string\">\"$ \"<\/span>\r\nsend <span class=\"token string\">\"exit\\r\"<\/span>\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h3 id=\"modularize-your-scripts\">Modularize Your Scripts<\/h3>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>Break down complex scripts into smaller, reusable procedures. This improves readability and maintainability.<\/p>\n<\/div>\n<div class=\"cl-preview-section\">\n<pre class=\" language-tcl\"><code class=\"prism  language-tcl\"><span class=\"token comment\">#!\/usr\/bin\/expect<\/span>\r\n\r\n<span class=\"token builtin\">proc<\/span> <span class=\"token function\">login<\/span> <span class=\"token punctuation\">{<\/span>user password host<span class=\"token punctuation\">}<\/span> <span class=\"token punctuation\">{<\/span>\r\n    spawn ssh $<span class=\"token variable\">user<\/span>@$<span class=\"token variable\">host<\/span>\r\n    expect <span class=\"token string\">\"password:\"<\/span>\r\n    send <span class=\"token string\">\"$password\\r\"<\/span>\r\n    expect <span class=\"token string\">\"$ \"<\/span>\r\n<span class=\"token punctuation\">}<\/span>\r\n\r\n<span class=\"token builtin\">proc<\/span> <span class=\"token function\">run_command<\/span> <span class=\"token punctuation\">{<\/span>command<span class=\"token punctuation\">}<\/span> <span class=\"token punctuation\">{<\/span>\r\n    send <span class=\"token string\">\"$command\\r\"<\/span>\r\n    expect <span class=\"token string\">\"$ \"<\/span>\r\n<span class=\"token punctuation\">}<\/span>\r\n\r\n<span class=\"token comment\"># Main script<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">user<\/span> <span class=\"token string\">\"username\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">password<\/span> <span class=\"token string\">\"password\"<\/span>\r\n<span class=\"token keyword\">set<\/span> <span class=\"token variable\">host<\/span> <span class=\"token string\">\"hostname\"<\/span>\r\n\r\nlogin $<span class=\"token variable\">user<\/span> $<span class=\"token variable\">password<\/span> $<span class=\"token variable\">host<\/span>\r\nrun_command <span class=\"token string\">\"ls -l\"<\/span>\r\nrun_command <span class=\"token string\">\"uptime\"<\/span>\r\nsend <span class=\"token string\">\"exit\\r\"<\/span>\r\n<\/code><\/pre>\n<\/div>\n<div class=\"cl-preview-section\">\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<\/div>\n<div class=\"cl-preview-section\">\n<p>The Expect command in Linux is a versatile and powerful tool for automating interactions with programs that require user input. By mastering Expect, you can automate repetitive tasks, streamline workflows, and enhance productivity. This guide has covered the basics of Expect, advanced usage scenarios, real-world applications, and best practices. With these insights, you are well-equipped to leverage Expect for your automation needs. Practice creating and running Expect scripts, explore its vast capabilities, and integrate it into your daily Linux administration tasks to see its full potential in action.<\/p>\n<p>Check out More Linux Tutorials <a href=\"https:\/\/draculaservers.com\/tutorials\/\" target=\"_blank\" rel=\"noopener\">Here!<\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0The Expect command in Linux is a powerful tool used to automate interactions with programs that require user input. It\u2019s particularly useful for scripting interactive applications, automating repetitive tasks, and testing user interfaces. In this guide, we\u2019ll delve into the intricacies of the Expect command, provide practical examples, and explore advanced usage scenarios to help [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":3553,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61,172],"tags":[669,668,667],"class_list":["post-3552","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux-commands","category-linux-tutorials","tag-expect-in-bash","tag-expect-in-linux","tag-how-to-use-the-expect-command-in-linux"],"blocksy_meta":[],"featured_image_urls_v2":{"full":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68.png",1280,720,false],"thumbnail":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68-150x150.png",150,150,true],"medium":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68-300x169.png",300,169,true],"medium_large":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68-768x432.png",768,432,true],"large":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68-1024x576.png",1024,576,true],"1536x1536":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68.png",1280,720,false],"2048x2048":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68.png",1280,720,false],"pk-small":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68-80x80.png",80,80,true],"pk-thumbnail":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68-300x225.png",300,225,true]},"post_excerpt_stackable_v2":"<p>\u00a0The Expect command in Linux is a powerful tool used to automate interactions with programs that require user input. It\u2019s particularly useful for scripting interactive applications, automating repetitive tasks, and testing user interfaces. In this guide, we\u2019ll delve into the intricacies of the Expect command, provide practical examples, and explore advanced usage scenarios to help you harness its full potential. What is Expect? Expect is a program that \u201ctalks\u201d to other interactive programs according to a script. Following the script, Expect knows what can be expected from a program and what the correct response should be. It was designed to&hellip;<\/p>\n","category_list_v2":"<a href=\"https:\/\/draculaservers.com\/tutorials\/category\/linux-commands\/\" rel=\"category tag\">Linux Commands<\/a>, <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>Linux &quot;Expect&quot; Command - Complete Guide - Dracula Servers Tutorials<\/title>\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\/linux-expect-command\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linux &quot;Expect&quot; Command - Complete Guide - Dracula Servers Tutorials\" \/>\n<meta property=\"og:description\" content=\"\u00a0The Expect command in Linux is a powerful tool used to automate interactions with programs that require user input. It\u2019s particularly useful for scripting interactive applications, automating repetitive tasks, and testing user interfaces. In this guide, we\u2019ll delve into the intricacies of the Expect command, provide practical examples, and explore advanced usage scenarios to help [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/\" \/>\n<meta property=\"og:site_name\" content=\"Dracula Servers Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-03T10:00:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-05T19:49:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68.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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/\"},\"author\":{\"name\":\"Abdul Mannan\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#\\\/schema\\\/person\\\/ac89d0281f4fb596bfaa0bc1e746c8a6\"},\"headline\":\"Linux &#8220;Expect&#8221; Command &#8211; Complete Guide\",\"datePublished\":\"2024-05-03T10:00:45+00:00\",\"dateModified\":\"2024-08-05T19:49:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/\"},\"wordCount\":771,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/Dracula-Servers-Thumbnail-68.png\",\"keywords\":[\"Expect in bash\",\"Expect in Linux\",\"How to use the expect command in Linux\"],\"articleSection\":[\"Linux Commands\",\"Linux Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/\",\"name\":\"Linux \\\"Expect\\\" Command - Complete Guide - Dracula Servers Tutorials\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/Dracula-Servers-Thumbnail-68.png\",\"datePublished\":\"2024-05-03T10:00:45+00:00\",\"dateModified\":\"2024-08-05T19:49:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/#primaryimage\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/Dracula-Servers-Thumbnail-68.png\",\"contentUrl\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/Dracula-Servers-Thumbnail-68.png\",\"width\":1280,\"height\":720,\"caption\":\"Linux \\\"Expect\\\" Command - Complete Guide\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/linux-expect-command\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linux &#8220;Expect&#8221; Command &#8211; Complete Guide\"}]},{\"@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":"Linux \"Expect\" Command - Complete Guide - Dracula Servers Tutorials","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\/linux-expect-command\/","og_locale":"en_US","og_type":"article","og_title":"Linux \"Expect\" Command - Complete Guide - Dracula Servers Tutorials","og_description":"\u00a0The Expect command in Linux is a powerful tool used to automate interactions with programs that require user input. It\u2019s particularly useful for scripting interactive applications, automating repetitive tasks, and testing user interfaces. In this guide, we\u2019ll delve into the intricacies of the Expect command, provide practical examples, and explore advanced usage scenarios to help [&hellip;]","og_url":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/","og_site_name":"Dracula Servers Tutorials","article_published_time":"2024-05-03T10:00:45+00:00","article_modified_time":"2024-08-05T19:49:35+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68.png","type":"image\/png"}],"author":"Abdul Mannan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Abdul Mannan","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/#article","isPartOf":{"@id":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/"},"author":{"name":"Abdul Mannan","@id":"https:\/\/draculaservers.com\/tutorials\/#\/schema\/person\/ac89d0281f4fb596bfaa0bc1e746c8a6"},"headline":"Linux &#8220;Expect&#8221; Command &#8211; Complete Guide","datePublished":"2024-05-03T10:00:45+00:00","dateModified":"2024-08-05T19:49:35+00:00","mainEntityOfPage":{"@id":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/"},"wordCount":771,"commentCount":0,"publisher":{"@id":"https:\/\/draculaservers.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/#primaryimage"},"thumbnailUrl":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68.png","keywords":["Expect in bash","Expect in Linux","How to use the expect command in Linux"],"articleSection":["Linux Commands","Linux Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/","url":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/","name":"Linux \"Expect\" Command - Complete Guide - Dracula Servers Tutorials","isPartOf":{"@id":"https:\/\/draculaservers.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/#primaryimage"},"image":{"@id":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/#primaryimage"},"thumbnailUrl":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68.png","datePublished":"2024-05-03T10:00:45+00:00","dateModified":"2024-08-05T19:49:35+00:00","breadcrumb":{"@id":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/#primaryimage","url":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68.png","contentUrl":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2024\/08\/Dracula-Servers-Thumbnail-68.png","width":1280,"height":720,"caption":"Linux \"Expect\" Command - Complete Guide"},{"@type":"BreadcrumbList","@id":"https:\/\/draculaservers.com\/tutorials\/linux-expect-command\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/draculaservers.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Linux &#8220;Expect&#8221; Command &#8211; Complete Guide"}]},{"@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\/3552","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=3552"}],"version-history":[{"count":1,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/posts\/3552\/revisions"}],"predecessor-version":[{"id":3554,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/posts\/3552\/revisions\/3554"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/media\/3553"}],"wp:attachment":[{"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/media?parent=3552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/categories?post=3552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/tags?post=3552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}