{"id":2415,"date":"2015-08-09T20:11:46","date_gmt":"2015-08-10T03:11:46","guid":{"rendered":"http:\/\/mike.peay.us\/blog\/?p=2415"},"modified":"2015-08-09T20:11:46","modified_gmt":"2015-08-10T03:11:46","slug":"watching-a-log-file-in-a-bash-script","status":"publish","type":"post","link":"https:\/\/mike.peay.us\/blog\/archives\/2415","title":{"rendered":"Watching a log file in a bash script"},"content":{"rendered":"<p>For the last few months, I&#8217;ve been doing some contracting developing automation scripts in <a href=\"https:\/\/en.wikipedia.org\/wiki\/Bash_(Unix_shell)\">bash<\/a>. It&#8217;s been a fun diversion from my <a href=\"http:\/\/mike.peay.us\/blog\/archives\/2385\">job search<\/a>\u00c2\u00a0and leverages my\u00c2\u00a0sysadmin background. It has also improved my command of <a href=\"https:\/\/en.wikipedia.org\/wiki\/Vim_(text_editor)\">vi<\/a> and several tricks in bash scripting. I wanted to share\u00c2\u00a0one that may be of help to others.<\/p>\n<p>In the scripts that I wrote, it was necessary to kick of a long-running process and then act on entries written to a log file. I created a watcher routine to accomplish this:<\/p>\n<pre style=\"padding-left: 30px;\">01  successfulRun=0\r\n02  keepRunning=1\r\n03  while [ $keepRunning -eq 1 ] &amp;&amp; read -t 3600 line; do\r\n04      case \"$line\" in\r\n05          *completion string* )\r\n06              echo \"Completed successfully. Exiting monitor.\"\r\n07              successfulRun=1\r\n08              keepRunning=0\r\n09              ;;\r\n10          *error string* )\r\n11              echo \"ERROR entry found in log. Exiting monitor.\"\r\n12              keepRunning=0\r\n13              ;;\r\n14          * )\r\n15              echo \"Just another line. Monitor continuing.\"\r\n16              ;;\r\n17      esac\r\n18  done &lt; &lt;(tail --pid=$$ -n0 -F ${logfile})<\/pre>\n<p>It&#8217;s a general while loop, but there are some useful\u00c2\u00a0features. First, in line 3 is &#8220;read -t 3600&#8221; which allows the loop to break if nothing gets written to the file for an hour (3600 seconds). After the loop, if keepRunning is 1 and successfulRun is 0, I know it timed out.<\/p>\n<p>Lines 5, 10, and 14 allow for cases for any strings encountered. For my uses, I was looking for a success string which\u00c2\u00a0meant my script could\u00c2\u00a0continue on. Similarly, if an error string is encountered, I exit accordingly. The last one (line 14) is the default case, which probably isn&#8217;t needed unless you want to provide feedback of progress.<\/p>\n<p>The last feature is in line 18. The &#8211;pid=$$ option allows the tail command to close the logfile when the parent script completes. That allows for a very nice wrap-up no matter what happens. Nice, huh?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For the last few months, I&#8217;ve been doing some contracting developing automation scripts in bash. It&#8217;s been a fun diversion from my job search\u00c2\u00a0and leverages my\u00c2\u00a0sysadmin background. It has also improved my command of vi and several tricks in bash &hellip; <a href=\"https:\/\/mike.peay.us\/blog\/archives\/2415\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3,8],"tags":[],"class_list":["post-2415","post","type-post","status-publish","format-standard","hentry","category-geek","category-thoughts"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Using a while loop to monitor a log file and act accordingly\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Mike\"\/>\n\t<meta name=\"google-site-verification\" content=\"5CNcU6UqPtgvtnvhodoQdkqu0nw8YMGiS6Qm1xnwHb8\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mike.peay.us\/blog\/archives\/2415\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"The Occasional Blog - If things haven&#039;t changed recently, nag me!\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Watching a log file in a bash script - The Occasional Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Using a while loop to monitor a log file and act accordingly\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mike.peay.us\/blog\/archives\/2415\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mike.peay.us\/blog\/wp-content\/uploads\/2026\/03\/mpeay-512px-2025.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mike.peay.us\/blog\/wp-content\/uploads\/2026\/03\/mpeay-512px-2025.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2015-08-10T03:11:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2015-08-10T03:11:46+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Watching a log file in a bash script - The Occasional Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Using a while loop to monitor a log file and act accordingly\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mike.peay.us\/blog\/wp-content\/uploads\/2026\/03\/mpeay-512px-2025.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415#blogposting\",\"name\":\"Watching a log file in a bash script - The Occasional Blog\",\"headline\":\"Watching a log file in a bash script\",\"author\":{\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/author\\\/mike#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b18ed8014da2fe06cc120c31783df2808c4a6db9277789e46911a70bc0c1638?s=96&d=mm&r=pg\",\"width\":96,\"height\":96,\"caption\":\"Mike\"},\"datePublished\":\"2015-08-09T20:11:46-07:00\",\"dateModified\":\"2015-08-09T20:11:46-07:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415#webpage\"},\"articleSection\":\"Geek, Thoughts\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mike.peay.us\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/category\\\/geek#listItem\",\"name\":\"Geek\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/category\\\/geek#listItem\",\"position\":2,\"name\":\"Geek\",\"item\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/category\\\/geek\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415#listItem\",\"name\":\"Watching a log file in a bash script\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415#listItem\",\"position\":3,\"name\":\"Watching a log file in a bash script\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/category\\\/geek#listItem\",\"name\":\"Geek\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/#person\",\"name\":\"Mike\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b18ed8014da2fe06cc120c31783df2808c4a6db9277789e46911a70bc0c1638?s=96&d=mm&r=pg\",\"width\":96,\"height\":96,\"caption\":\"Mike\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/author\\\/mike#author\",\"url\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/author\\\/mike\",\"name\":\"Mike\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b18ed8014da2fe06cc120c31783df2808c4a6db9277789e46911a70bc0c1638?s=96&d=mm&r=pg\",\"width\":96,\"height\":96,\"caption\":\"Mike\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415#webpage\",\"url\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415\",\"name\":\"Watching a log file in a bash script - The Occasional Blog\",\"description\":\"Using a while loop to monitor a log file and act accordingly\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/2415#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/author\\\/mike#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/archives\\\/author\\\/mike#author\"},\"datePublished\":\"2015-08-09T20:11:46-07:00\",\"dateModified\":\"2015-08-09T20:11:46-07:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/\",\"name\":\"The Occasional Blog\",\"description\":\"If things haven't changed recently, nag me!\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mike.peay.us\\\/blog\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Watching a log file in a bash script - The Occasional Blog","description":"Using a while loop to monitor a log file and act accordingly","canonical_url":"https:\/\/mike.peay.us\/blog\/archives\/2415","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"5CNcU6UqPtgvtnvhodoQdkqu0nw8YMGiS6Qm1xnwHb8","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mike.peay.us\/blog\/archives\/2415#blogposting","name":"Watching a log file in a bash script - The Occasional Blog","headline":"Watching a log file in a bash script","author":{"@id":"https:\/\/mike.peay.us\/blog\/archives\/author\/mike#author"},"publisher":{"@id":"https:\/\/mike.peay.us\/blog\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/mike.peay.us\/blog\/archives\/2415#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/1b18ed8014da2fe06cc120c31783df2808c4a6db9277789e46911a70bc0c1638?s=96&d=mm&r=pg","width":96,"height":96,"caption":"Mike"},"datePublished":"2015-08-09T20:11:46-07:00","dateModified":"2015-08-09T20:11:46-07:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mike.peay.us\/blog\/archives\/2415#webpage"},"isPartOf":{"@id":"https:\/\/mike.peay.us\/blog\/archives\/2415#webpage"},"articleSection":"Geek, Thoughts"},{"@type":"BreadcrumbList","@id":"https:\/\/mike.peay.us\/blog\/archives\/2415#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mike.peay.us\/blog#listItem","position":1,"name":"Home","item":"https:\/\/mike.peay.us\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/mike.peay.us\/blog\/archives\/category\/geek#listItem","name":"Geek"}},{"@type":"ListItem","@id":"https:\/\/mike.peay.us\/blog\/archives\/category\/geek#listItem","position":2,"name":"Geek","item":"https:\/\/mike.peay.us\/blog\/archives\/category\/geek","nextItem":{"@type":"ListItem","@id":"https:\/\/mike.peay.us\/blog\/archives\/2415#listItem","name":"Watching a log file in a bash script"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mike.peay.us\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mike.peay.us\/blog\/archives\/2415#listItem","position":3,"name":"Watching a log file in a bash script","previousItem":{"@type":"ListItem","@id":"https:\/\/mike.peay.us\/blog\/archives\/category\/geek#listItem","name":"Geek"}}]},{"@type":"Person","@id":"https:\/\/mike.peay.us\/blog\/#person","name":"Mike","image":{"@type":"ImageObject","@id":"https:\/\/mike.peay.us\/blog\/archives\/2415#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/1b18ed8014da2fe06cc120c31783df2808c4a6db9277789e46911a70bc0c1638?s=96&d=mm&r=pg","width":96,"height":96,"caption":"Mike"}},{"@type":"Person","@id":"https:\/\/mike.peay.us\/blog\/archives\/author\/mike#author","url":"https:\/\/mike.peay.us\/blog\/archives\/author\/mike","name":"Mike","image":{"@type":"ImageObject","@id":"https:\/\/mike.peay.us\/blog\/archives\/2415#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/1b18ed8014da2fe06cc120c31783df2808c4a6db9277789e46911a70bc0c1638?s=96&d=mm&r=pg","width":96,"height":96,"caption":"Mike"}},{"@type":"WebPage","@id":"https:\/\/mike.peay.us\/blog\/archives\/2415#webpage","url":"https:\/\/mike.peay.us\/blog\/archives\/2415","name":"Watching a log file in a bash script - The Occasional Blog","description":"Using a while loop to monitor a log file and act accordingly","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mike.peay.us\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/mike.peay.us\/blog\/archives\/2415#breadcrumblist"},"author":{"@id":"https:\/\/mike.peay.us\/blog\/archives\/author\/mike#author"},"creator":{"@id":"https:\/\/mike.peay.us\/blog\/archives\/author\/mike#author"},"datePublished":"2015-08-09T20:11:46-07:00","dateModified":"2015-08-09T20:11:46-07:00"},{"@type":"WebSite","@id":"https:\/\/mike.peay.us\/blog\/#website","url":"https:\/\/mike.peay.us\/blog\/","name":"The Occasional Blog","description":"If things haven't changed recently, nag me!","inLanguage":"en-US","publisher":{"@id":"https:\/\/mike.peay.us\/blog\/#person"}}]},"og:locale":"en_US","og:site_name":"The Occasional Blog - If things haven't changed recently, nag me!","og:type":"article","og:title":"Watching a log file in a bash script - The Occasional Blog","og:description":"Using a while loop to monitor a log file and act accordingly","og:url":"https:\/\/mike.peay.us\/blog\/archives\/2415","og:image":"https:\/\/mike.peay.us\/blog\/wp-content\/uploads\/2026\/03\/mpeay-512px-2025.png","og:image:secure_url":"https:\/\/mike.peay.us\/blog\/wp-content\/uploads\/2026\/03\/mpeay-512px-2025.png","og:image:width":512,"og:image:height":512,"article:published_time":"2015-08-10T03:11:46+00:00","article:modified_time":"2015-08-10T03:11:46+00:00","twitter:card":"summary_large_image","twitter:title":"Watching a log file in a bash script - The Occasional Blog","twitter:description":"Using a while loop to monitor a log file and act accordingly","twitter:image":"https:\/\/mike.peay.us\/blog\/wp-content\/uploads\/2026\/03\/mpeay-512px-2025.png"},"aioseo_meta_data":{"post_id":"2415","title":"","description":"Using a while loop to monitor a log file and act accordingly","keywords":[{"label":"bash","value":"bash"},{"label":"script","value":"script"},{"label":"logfile","value":"logfile"},{"label":"timeout","value":"timeout"},{"label":"cases","value":"cases"},{"label":"while","value":"while"},{"label":"loop","value":"loop"},{"label":"linux","value":"linux"},{"label":"success","value":"success"},{"label":"error","value":"error"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2024-07-04 23:35:29","updated":"2025-06-03 20:41:04","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mike.peay.us\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mike.peay.us\/blog\/archives\/category\/geek\" title=\"Geek\">Geek<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tWatching a log file in a bash script\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mike.peay.us\/blog"},{"label":"Geek","link":"https:\/\/mike.peay.us\/blog\/archives\/category\/geek"},{"label":"Watching a log file in a bash script","link":"https:\/\/mike.peay.us\/blog\/archives\/2415"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4vft-CX","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mike.peay.us\/blog\/wp-json\/wp\/v2\/posts\/2415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mike.peay.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mike.peay.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mike.peay.us\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mike.peay.us\/blog\/wp-json\/wp\/v2\/comments?post=2415"}],"version-history":[{"count":1,"href":"https:\/\/mike.peay.us\/blog\/wp-json\/wp\/v2\/posts\/2415\/revisions"}],"predecessor-version":[{"id":2416,"href":"https:\/\/mike.peay.us\/blog\/wp-json\/wp\/v2\/posts\/2415\/revisions\/2416"}],"wp:attachment":[{"href":"https:\/\/mike.peay.us\/blog\/wp-json\/wp\/v2\/media?parent=2415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mike.peay.us\/blog\/wp-json\/wp\/v2\/categories?post=2415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mike.peay.us\/blog\/wp-json\/wp\/v2\/tags?post=2415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}