{"id":2156,"date":"2022-02-23T07:27:42","date_gmt":"2022-02-23T07:27:42","guid":{"rendered":"https:\/\/blog.samarthya.me\/wps\/?p=2156"},"modified":"2023-02-08T15:32:13","modified_gmt":"2023-02-08T15:32:13","slug":"notes-1","status":"publish","type":"post","link":"https:\/\/blog.samarthya.me\/wps\/2022\/02\/23\/notes-1\/","title":{"rendered":"Notes: For self"},"content":{"rendered":"\n<div class=\"wp-block-snow-monkey-blocks-tabs smb-tabs is-style-default\" data-tabs-id=\"9e8478df-0ffe-49b6-9684-b8189d163cb8\" data-orientation=\"vertical\" data-match-height=\"true\"><div class=\"smb-tabs__tabs\"><div class=\"smb-tabs__tab-wrapper\"><button class=\"smb-tabs__tab\" role=\"tab\" aria-controls=\"block-e07c6b3e-f27f-4d2d-8a64-0a67d0d67c16\" aria-selected=\"true\"><code>bash<\/code><\/button><\/div><div class=\"smb-tabs__tab-wrapper\"><button class=\"smb-tabs__tab\" role=\"tab\" aria-controls=\"block-d966390d-7c3f-46cc-97ee-bdf18108be7c\" aria-selected=\"false\"><code>= &amp; ==<\/code><\/button><\/div><div class=\"smb-tabs__tab-wrapper\"><button class=\"smb-tabs__tab\" role=\"tab\" aria-controls=\"block-63fea845-2703-4d8d-ac6a-0af72bb4dc08\" aria-selected=\"false\">Brackets <code>[<\/code><\/button><\/div><div class=\"smb-tabs__tab-wrapper\"><button class=\"smb-tabs__tab\" role=\"tab\" aria-controls=\"block-84e61b70-9711-4487-ba14-d66a1128bcec\" aria-selected=\"false\"><code>bc<\/code><\/button><\/div><div class=\"smb-tabs__tab-wrapper\"><button class=\"smb-tabs__tab\" role=\"tab\" aria-controls=\"block-99120e90-cdd6-4dda-b64f-f4577f99da63\" aria-selected=\"false\"><code>awk<\/code><\/button><\/div><\/div><div class=\"smb-tabs__body\">\n<div class=\"wp-block-snow-monkey-blocks-tab-panel smb-tab-panel\" id=\"block-e07c6b3e-f27f-4d2d-8a64-0a67d0d67c16\" aria-hidden=\"false\" role=\"tabpanel\"><div class=\"smb-tab-panel__body is-layout-constrained wp-block-snow-monkey-blocks-tab-panel-is-layout-constrained\">\n<ul class=\"wp-block-list\">\n<li>Bash is a string oriented language<\/li>\n\n\n\n<li>We do not write <code>step=$((step++))<\/code> this expression will return a numeric value which the shell will then take as the command to to be executed.<\/li>\n\n\n\n<li>No spaces are allowed around the equal sign for variable assignment.<\/li>\n\n\n\n<li><code>let \"step++\"<\/code> is same as <code>(( step++ ))<\/code><\/li>\n\n\n\n<li>Use <code>declare<\/code> to set variable values and attributes<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-snow-monkey-blocks-tab-panel smb-tab-panel\" id=\"block-d966390d-7c3f-46cc-97ee-bdf18108be7c\" aria-hidden=\"true\" role=\"tabpanel\"><div class=\"smb-tab-panel__body is-layout-constrained wp-block-snow-monkey-blocks-tab-panel-is-layout-constrained\">\n<p class=\"has-pale-pink-background-color has-background\">In bash <code>=<\/code> and <code>==<\/code> both mean the same thing<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-snow-monkey-blocks-tab-panel smb-tab-panel\" id=\"block-63fea845-2703-4d8d-ac6a-0af72bb4dc08\" aria-hidden=\"true\" role=\"tabpanel\"><div class=\"smb-tab-panel__body is-layout-constrained wp-block-snow-monkey-blocks-tab-panel-is-layout-constrained\">\n<div class=\"wp-block-snow-monkey-blocks-balloon smb-balloon wp-block-snow-monkey-blocks-balloon-is-layout-constrained\" style=\"--smb-balloon--background-color:#8ed1fc;--smb-balloon--border-color:#8ed1fc\"><div class=\"smb-balloon__person\"><div class=\"smb-balloon__figure\"><img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/blog.samarthya.me\/wps\/wp-content\/uploads\/2021\/09\/PicsArt_03-21-03.25.55-150x150.jpg\" alt=\"\" class=\"wp-image-1726\"\/><\/div><div class=\"smb-balloon__name\"><\/div><\/div><div class=\"smb-balloon__body is-layout-constrained wp-block-balloon-is-layout-constrained\"><p>What is the difference between <code>[<\/code> and <code>[[<\/code>?<\/p><\/div><\/div>\n\n\n\n<div class=\"wp-block-snow-monkey-blocks-step smb-step\"><div class=\"smb-step__body\">\n<div class=\"wp-block-snow-monkey-blocks-step-item-free smb-step__item\"><div class=\"smb-step__item__title\"><div class=\"smb-step__item__number\"><\/div><span>if <code>cd $dir; then<\/code><\/span><\/div><div class=\"smb-step__item__body\"><div class=\"smb-step__item__summary is-layout-constrained wp-block-snow-monkey-blocks-step-item-free-is-layout-constrained\">\n<p>In this case the command <code>cd $dir<\/code> will be executed and based on success or failure of the command executed the if or else part will be executed respectively.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>if [$dir]; then<\/code><\/h3>\n\n\n\n<p>Single bracket is equivalent to test command evaluate conditional expression<\/p>\n\n\n\n<div class=\"wp-block-snow-monkey-blocks-step smb-step\"><div class=\"smb-step__body\">\n<div class=\"wp-block-snow-monkey-blocks-step-item-free smb-step__item\"><div class=\"smb-step__item__title\"><div class=\"smb-step__item__number\"><\/div><span><code>&lt; &amp; &gt;<\/code><\/span><\/div><div class=\"smb-step__item__body\"><div class=\"smb-step__item__summary is-layout-constrained wp-block-snow-monkey-blocks-step-item-free-is-layout-constrained\">\n<ul class=\"wp-block-list\">\n<li>Within <code>[<\/code> compare using simple ASCII ordering &amp; within <code>[[<\/code> comparison is lexicographic. <\/li>\n\n\n\n<li>Within <code>[<\/code> you have to escape <code>\\&gt;<\/code> to avoid redirection.<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n<\/div><\/div>\n<\/div><\/div><\/div>\n<\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-snow-monkey-blocks-tab-panel smb-tab-panel\" id=\"block-84e61b70-9711-4487-ba14-d66a1128bcec\" aria-hidden=\"true\" role=\"tabpanel\"><div class=\"smb-tab-panel__body is-layout-constrained wp-block-snow-monkey-blocks-tab-panel-is-layout-constrained\">\n<div class=\"wp-block-snow-monkey-blocks-balloon smb-balloon smb-balloon--reverse wp-block-snow-monkey-blocks-balloon-is-layout-constrained\" style=\"--smb-balloon--background-color:#abb8c3;--smb-balloon--border-color:#abb8c3;--smb-balloon--color:#000000\"><div class=\"smb-balloon__person\"><div class=\"smb-balloon__figure\"><img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/blog.samarthya.me\/wps\/wp-content\/uploads\/2021\/01\/IMG_20200603_222741-scaled-e1611578793952-150x150.jpg\" alt=\"\" class=\"wp-image-1271\"\/><\/div><div class=\"smb-balloon__name\">Me<\/div><\/div><div class=\"smb-balloon__body is-layout-constrained wp-block-balloon-is-layout-constrained\"><p>BC is a language?<\/p><\/div><\/div>\n\n\n\n<div class=\"wp-block-snow-monkey-blocks-accordion smb-accordion\">\n<div class=\"wp-block-snow-monkey-blocks-accordion-item smb-accordion__item wp-block-snow-monkey-blocks-accordion-item-is-layout-constrained\"><input type=\"checkbox\" class=\"smb-accordion__item__control\"\/><div class=\"smb-accordion__item__title\"><span class=\"smb-accordion__item__title__label\"><\/span><div class=\"smb-accordion__item__title__icon\"><i class=\"fa-solid fa-angle-down\"><\/i><\/div><\/div><div class=\"smb-accordion__item__body is-layout-constrained wp-block-accordion-item-is-layout-constrained\"><\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-snow-monkey-blocks-balloon smb-balloon wp-block-snow-monkey-blocks-balloon-is-layout-constrained\" style=\"--smb-balloon--background-color:#ff6900;--smb-balloon--border-color:#ff6900;--smb-balloon--color:#ffffff\"><div class=\"smb-balloon__person\"><div class=\"smb-balloon__figure\"><img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/blog.samarthya.me\/wps\/wp-content\/uploads\/2021\/12\/IMG_2414-scaled-e1640669672607-150x150.jpeg\" alt=\"\" class=\"wp-image-1853\" srcset=\"https:\/\/blog.samarthya.me\/wps\/wp-content\/uploads\/2021\/12\/IMG_2414-scaled-e1640669672607-150x150.jpeg 150w, https:\/\/blog.samarthya.me\/wps\/wp-content\/uploads\/2021\/12\/IMG_2414-scaled-e1640669672607-150x150@2x.jpeg 300w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/div><div class=\"smb-balloon__name\">Man pages<\/div><\/div><div class=\"smb-balloon__body is-layout-constrained wp-block-balloon-is-layout-constrained\"><p>Supports arbitrary precision numbers with interactive execution of statements. (Command line)<\/p><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-snow-monkey-blocks-tab-panel smb-tab-panel\" id=\"block-99120e90-cdd6-4dda-b64f-f4577f99da63\" aria-hidden=\"true\" role=\"tabpanel\"><div class=\"smb-tab-panel__body is-layout-constrained wp-block-snow-monkey-blocks-tab-panel-is-layout-constrained\">\n<p class=\"has-pale-pink-background-color has-background\"><code>awk<\/code> provides filtering capabilities<\/p>\n\n\n\n<pre class=\"wp-block-code has-pale-cyan-blue-background-color has-background\"><code>&gt; printf 'gate\\napple\\nwhat\\nkite\\n' | awk '\/at\/'\n\ngate\nwhat\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-pale-cyan-blue-background-color has-background\"><code>printf 'gate\\napple\\nwhat\\nkite\\n' | awk '!\/e\/'\n\nwhat<\/code><\/pre>\n\n\n\n<p class=\"has-pale-pink-background-color has-background\"><code>awk<\/code> is primarily used for field based processing<\/p>\n\n\n\n<p class=\"has-pale-pink-background-color has-background\">One liner structure  <code>awk 'cond1{action1} cond2{action2} \u2026 condN{actionN}'<\/code><\/p>\n<\/div><\/div>\n<\/div><style>[data-tabs-id=\"9e8478df-0ffe-49b6-9684-b8189d163cb8\"] > .smb-tabs__body > .smb-tab-panel:nth-child(1) {left: 0%}[data-tabs-id=\"9e8478df-0ffe-49b6-9684-b8189d163cb8\"] > .smb-tabs__body > .smb-tab-panel:nth-child(2) {left: -100%}[data-tabs-id=\"9e8478df-0ffe-49b6-9684-b8189d163cb8\"] > .smb-tabs__body > .smb-tab-panel:nth-child(3) {left: -200%}[data-tabs-id=\"9e8478df-0ffe-49b6-9684-b8189d163cb8\"] > .smb-tabs__body > .smb-tab-panel:nth-child(4) {left: -300%}[data-tabs-id=\"9e8478df-0ffe-49b6-9684-b8189d163cb8\"] > .smb-tabs__body > .smb-tab-panel:nth-child(5) {left: -400%}<\/style><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":1380,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[34],"tags":[245,112,172],"class_list":["post-2156","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical","tag-bash","tag-linux","tag-notes"],"_links":{"self":[{"href":"https:\/\/blog.samarthya.me\/wps\/wp-json\/wp\/v2\/posts\/2156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.samarthya.me\/wps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.samarthya.me\/wps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.samarthya.me\/wps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.samarthya.me\/wps\/wp-json\/wp\/v2\/comments?post=2156"}],"version-history":[{"count":1,"href":"https:\/\/blog.samarthya.me\/wps\/wp-json\/wp\/v2\/posts\/2156\/revisions"}],"predecessor-version":[{"id":2473,"href":"https:\/\/blog.samarthya.me\/wps\/wp-json\/wp\/v2\/posts\/2156\/revisions\/2473"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.samarthya.me\/wps\/wp-json\/wp\/v2\/media\/1380"}],"wp:attachment":[{"href":"https:\/\/blog.samarthya.me\/wps\/wp-json\/wp\/v2\/media?parent=2156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.samarthya.me\/wps\/wp-json\/wp\/v2\/categories?post=2156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.samarthya.me\/wps\/wp-json\/wp\/v2\/tags?post=2156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}