{"id":12837,"date":"2023-12-31T16:43:12","date_gmt":"2023-12-31T13:13:12","guid":{"rendered":"https:\/\/rasanegar.com\/blog\/bash-until-loops\/"},"modified":"2023-12-31T16:43:12","modified_gmt":"2023-12-31T13:13:12","slug":"bash-until-loops","status":"publish","type":"post","link":"https:\/\/rasanegaar.com\/blog\/bash-until-loops\/","title":{"rendered":"Bash Until Loops"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">\u0632\u0645\u0627\u0646 \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u0645\u0637\u0627\u0644\u0639\u0647: <\/span> <span class=\"rt-time\"> 3<\/span> <span class=\"rt-label rt-postfix\">\u062f\u0642\u06cc\u0642\u0647<\/span><\/span><p> <br \/>\n<\/p>\n<div id=\"wpbody\">\n<p>\u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641\u06cc \u0627\u0632 \u062d\u0644\u0642\u0647 \u0647\u0627 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u062f\u0631 \u0622\u0646\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f bash \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0627  \u0628\u0631\u0627\u06cc \u062d\u0644\u0642\u0647 \u0647\u0627\u060c \u062d\u0644\u0642\u0647 \u0647\u0627\u06cc while \u0648 \u062a\u0627 \u062d\u0644\u0642\u0647 \u0647\u0627.<\/p>\n<p>\u0627\u0632 \u0646\u0638\u0631 \u0645\u0641\u0647\u0648\u0645\u06cc\u060c \u062d\u0644\u0642\u0647 for \u0628\u0627\u06cc\u062f \u0628\u0631\u0627\u06cc \u062d\u0644\u0642\u0647 \u0632\u062f\u0646 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06cc\u06a9 \u0633\u0631\u06cc \u0622\u06cc\u062a\u0645 \u0647\u0627 \u0645\u0627\u0646\u0646\u062f \u062d\u0644\u0642\u0647 \u0632\u062f\u0646 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0647\u0631 \u0622\u06cc\u062a\u0645 \u062f\u0631 \u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u06cc\u0627 \u0647\u0631 \u0641\u0627\u06cc\u0644 \u062f\u0631 \u06cc\u06a9 \u0641\u0647\u0631\u0633\u062a \u0648 \u063a\u06cc\u0631\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f. \u062d\u0644\u0642\u0647 while \u0628\u0627\u06cc\u062f \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f \u06a9\u0647 \u06cc\u06a9 \u0634\u0631\u0637 \u062e\u0627\u0635 \u062f\u0631\u0633\u062a \u0628\u0627\u0634\u062f\u060c \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0634\u0645\u0627\u0631\u0646\u062f\u0647 \u06a9\u0645\u062a\u0631 \u0627\u0632 \u06cc\u06a9 \u0645\u0642\u062f\u0627\u0631 \u062d\u062f\u0627\u06a9\u062b\u0631 \u0627\u0633\u062a \u06cc\u0627 \u0632\u0645\u0627\u0646 \u067e\u06cc\u0646\u06af \u0628\u0647 \u0633\u0631\u0648\u0631 \u06a9\u0645\u062a\u0631 \u0627\u0632 \u0622\u0633\u062a\u0627\u0646\u0647 \u06cc\u0627 \u0628\u0631\u0627\u06cc \u0647\u0645\u06cc\u0634\u0647 \u0627\u0633\u062a \u0627\u06af\u0631 \u062f\u0631 \u062d\u0627\u0644\u062a TRUE \u06cc\u0627 while 1 \u062d\u0644\u0642\u0647 \u0628\u0632\u0646\u06cc\u062f.<\/p>\n<p>\u062d\u0644\u0642\u0647 while \u0634\u0628\u06cc\u0647 \u0628\u0647 \u062d\u0644\u0642\u0647 while \u0627\u0645\u0627 \u0628\u0627 \u0645\u0646\u0637\u0642 \u0645\u0639\u06a9\u0648\u0633 \u0627\u0633\u062a.  \u0628\u0647 \u062c\u0627\u06cc \u062d\u0644\u0642\u0647 \u0632\u062f\u0646 \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u06cc\u06a9 \u0634\u0631\u0637 \u062f\u0631\u0633\u062a \u0627\u0633\u062a\u060c \u0634\u0631\u0637 \u0631\u0627 \u0646\u0627\u062f\u0631\u0633\u062a \u0641\u0631\u0636 \u0645\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u06cc\u06a9 \u0634\u0631\u0637 \u062f\u0631\u0633\u062a \u0634\u0648\u062f\u060c \u062d\u0644\u0642\u0647 \u0645\u06cc \u0632\u0646\u06cc\u062f.  \u0622\u0646\u0647\u0627 \u062f\u0631 \u0628\u06cc\u0627\u0646 \u0645\u0646\u0637\u0642\u06cc \u0628\u0631\u0639\u06a9\u0633 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0647\u0633\u062a\u0646\u062f.  \u0627\u0646\u062a\u062e\u0627\u0628 \u062d\u0644\u0642\u0647 \u0635\u062d\u06cc\u062d \u0628\u06cc\u0646 \u062d\u0644\u0642\u0647 while \u0648 \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0639\u062f\u0627\u064b \u0628\u0647 \u06a9\u062f \u0628\u0627\u0632 \u0645\u06cc\u200c\u06af\u0631\u062f\u06cc\u062f\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u062f\u06cc\u06af\u0631\u0627\u0646 \u06cc\u0627 \u062e\u0648\u062f\u062a\u0627\u0646 \u062e\u0648\u0627\u0646\u0627\u062a\u0631 \u0648 \u0642\u0627\u0628\u0644 \u062f\u0631\u06a9\u200c\u062a\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<p>\u0628\u0631\u062e\u06cc \u0627\u0632 \u0645\u062b\u0627\u0644\u200c\u0647\u0627 \u06cc\u0627 \u062f\u0644\u0627\u06cc\u0644 \u0645\u0639\u0645\u0648\u0644\u06cc \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u062a\u0627 \u062d\u0644\u0642\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0627\u0634\u062f\u060c \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0648\u0627\u0631\u062f \u00ab\u062e\u0631\u0648\u062c\u00bb \u0634\u0648\u062f.  \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 \u062d\u062c\u0645 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc \u0634\u0648\u062f\u060c \u06cc\u0627 \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062a\u0639\u062f\u0627\u062f\u06cc \u0641\u0627\u06cc\u0644 \u0645\u0637\u0627\u0628\u0642 \u0628\u0627 \u062c\u0633\u062a\u062c\u0648\u06cc \u0634\u0645\u0627 \u067e\u06cc\u062f\u0627 \u0634\u0648\u062f\u060c \u062d\u0644\u0642\u0647 \u0628\u0632\u0646\u06cc\u062f.<\/p>\n<p>\u0646\u062d\u0648 \u0627\u0635\u0644\u06cc \u062d\u0644\u0642\u0647 UNTIL \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<div class=\"codecolorer-container bash default\" style=\"overflow:auto;white-space:nowrap;width:435px;\">\n<div class=\"bash codecolorer\"><span class=\"kw1\">\u062a\u0627 \u0632\u0645\u0627\u0646<\/span> <span class=\"br0\">[<\/span> CONDITION <span class=\"br0\">]<\/span>; <span class=\"kw1\">\u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u0646<\/span><\/p>\n<p>  \u062e\u0637\u0648\u0637 \u06a9\u062f<br \/>\n  \u062e\u0637\u0648\u0637 \u0628\u06cc\u0634\u062a\u0631 \u06a9\u062f<br \/>\n<span class=\"kw1\">\u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647<\/span><\/div>\n<\/div>\n<p>\u062d\u0627\u0644\u0627 \u0686\u0646\u062f \u0645\u062b\u0627\u0644 \u0628\u0632\u0646\u06cc\u0645.  \u0645\u062b\u0627\u0644 \u0627\u0648\u0644 \u062a\u0627 \u0631\u0633\u06cc\u062f\u0646 \u0628\u0647 \u0622\u0633\u062a\u0627\u0646\u0647 \u0627\u0646\u062f\u0627\u0632\u0647 1000 \u0636\u0631\u06cc\u0628 \u062f\u0648 \u0631\u0627 \u0686\u0646\u062f \u0628\u0631\u0627\u0628\u0631 \u0645\u06cc \u06a9\u0646\u062f:<\/p>\n<div class=\"codecolorer-container bash default\" style=\"overflow:auto;white-space:nowrap;width:435px;\">\n<div class=\"bash codecolorer\"><span class=\"co0\">#!\/\u0635\u0646\u062f\u0648\u0642\u0686\u0647\/bash<\/span><br \/>\n<span class=\"re2\">NUM<\/span>=<span class=\"nu0\">1<\/span><br \/>\n<span class=\"kw1\">\u062a\u0627 \u0632\u0645\u0627\u0646<\/span> <span class=\"br0\">[<\/span> <span class=\"st0\">&#8220;<span class=\"es2\">$NUM<\/span>&#8220;<\/span> <span class=\"re5\">-gt<\/span> <span class=\"nu0\">1000<\/span> <span class=\"br0\">]<\/span>; <span class=\"kw1\">\u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u0646<\/span><\/p>\n<p>  <span class=\"kw3\">echo<\/span> <span class=\"re1\">$NUM<\/span><\/p>\n<p>  <span class=\"kw3\">\u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u062f<\/span> <span class=\"re2\">NUM<\/span>=NUM<span class=\"sy0\">*<\/span><span class=\"nu0\">2<\/span><br \/>\n<span class=\"kw1\">\u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647<\/span><\/div>\n<\/div>\n<p><img decoding=\"async\" fetchpriority=\"high\" class=\"aligncenter size-full wp-image-44741\" src=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/Bash-Until-Loops.png\" alt=\"\" width=\"320\" height=\"219\" srcset=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/Bash-Until-Loops.png 320w, https:\/\/linuxhint.com\/wp-content\/uploads\/2019\/08\/1-4-300x205.png 300w, https:\/\/linuxhint.com\/wp-content\/uploads\/2019\/08\/1-4-145x100.png 145w\" sizes=\"(max-width: 320px) 100vw, 320px\" title=\"\"><\/p>\n<p>\u0645\u062b\u0627\u0644 \u062f\u0648\u0645 \u0628\u0647 \u067e\u06cc\u0646\u06af \u06a9\u0631\u062f\u0646 \u06cc\u06a9 URL \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0632\u0645\u0627\u0646 \u067e\u0627\u0633\u062e\u06af\u0648\u06cc\u06cc \u0627\u0632 100 \u0645\u06cc\u0644\u06cc \u062b\u0627\u0646\u06cc\u0647 \u0628\u06cc\u0634\u062a\u0631 \u0634\u0648\u062f:<\/p>\n<div class=\"codecolorer-container bash default\" style=\"overflow:auto;white-space:nowrap;width:780px;\">\n<div class=\"bash codecolorer\"><span class=\"co0\">#!\/\u0635\u0646\u062f\u0648\u0642\u0686\u0647\/bash<\/span><br \/>\n<span class=\"re2\">\u0645\u06cc\u0644\u06cc \u062b\u0627\u0646\u06cc\u0647<\/span>=<span class=\"nu0\">0<\/span><\/p>\n<p><span class=\"co0\"># \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u06a9\u0646\u062f\u062a\u0631 \u0627\u0632 1000 \u0645\u06cc\u0644\u06cc \u062b\u0627\u0646\u06cc\u0647 \u0634\u0648\u062f \u067e\u06cc\u0646\u06af \u0645\u06cc \u06a9\u0646\u06cc\u0645<\/span><br \/>\n<span class=\"kw1\">\u062a\u0627 \u0632\u0645\u0627\u0646<\/span> <span class=\"br0\">[<\/span> <span class=\"re1\">$MILLISECONDS<\/span> <span class=\"re5\">-gt<\/span> <span class=\"nu0\">1000<\/span> <span class=\"br0\">]<\/span><br \/>\n<span class=\"kw1\">\u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u0646<\/span><\/p>\n<p>  <span class=\"co0\"># \u067e\u06cc\u0646\u06af \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u062e\u0637\u06cc \u06a9\u0647 \u0632\u0645\u0627\u0646 \u067e\u06cc\u0646\u06af \u062f\u0627\u0631\u062f \u0631\u0627 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0647 time=XXXX \u0645\u06cc\u0644\u06cc\u200c\u062b\u0627\u0646\u06cc\u0647 \u062e\u062a\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f  <\/span><\/p>\n<p>  <span class=\"re2\">\u062e\u0631\u0648\u062c\u06cc<\/span>=<span class=\"sy0\">`<\/span><span class=\"kw2\">\u067e\u06cc\u0646\u06af<\/span> <span class=\"re5\">-\u062c<\/span> <span class=\"nu0\">1<\/span> google.com <span class=\"sy0\">|<\/span> <span class=\"kw2\">grep<\/span> <span class=\"kw1\">\u0632\u0645\u0627\u0646<\/span> <span class=\"sy0\">|<\/span> <span class=\"kw2\">\u0628\u06cc\u062e\u06cc\u0627\u0644<\/span> <span class=\"re5\">-\u0627\u0641<\/span>= <span class=\"st_h\">&#8216;{ print $NF }&#8217;<\/span><span class=\"sy0\">`<\/span><\/p>\n<p>  <span class=\"kw3\">echo<\/span> <span class=\"st0\">&#8220;\u0632\u0645\u0627\u0646 \u067e\u06cc\u0646\u06af: <span class=\"es2\">$OUTPUT<\/span>&#8220;<\/span><\/p>\n<p>  <span class=\"co0\"># \u062a\u0639\u062f\u0627\u062f \u0645\u06cc\u0644\u06cc \u062b\u0627\u0646\u06cc\u0647 \u0627\u0632 \u0631\u0634\u062a\u0647 \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0639\u062f\u062f \u0635\u062d\u06cc\u062d \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u06a9\u0646\u06cc\u062f<\/span><\/p>\n<p>  <span class=\"re2\">\u0645\u06cc\u0644\u06cc \u062b\u0627\u0646\u06cc\u0647<\/span>=<span class=\"sy0\">`<\/span><span class=\"kw3\">echo<\/span> <span class=\"re1\">$OUTPUT<\/span> <span class=\"sy0\">|<\/span> <span class=\"kw2\">\u0628\u06cc\u062e\u06cc\u0627\u0644<\/span> <span class=\"st_h\">&#8216;{ print $1 }&#8217;<\/span> <span class=\"sy0\">|<\/span> <span class=\"kw2\">\u0628\u06cc\u062e\u06cc\u0627\u0644<\/span> -\u0627\u0641. <span class=\"st_h\">&#8216;{ print $1 }&#8217;<\/span> <span class=\"sy0\">`<\/span><\/p>\n<p>  <span class=\"kw3\">echo<\/span> <span class=\"st0\">&#8220;\u062a\u0639\u062f\u0627\u062f ms = <span class=\"es2\">\u0645\u06cc\u0644\u06cc \u062b\u0627\u0646\u06cc\u0647 \u062f\u0644\u0627\u0631<\/span>&#8220;<\/span><\/p>\n<p>  <span class=\"kw2\">\u062e\u0648\u0627\u0628<\/span> <span class=\"nu0\">1<\/span><br \/>\n<span class=\"kw1\">\u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647<\/span><\/p>\n<p><span class=\"kw3\">echo<\/span> <span class=\"st0\">&#8220;\u0632\u0645\u0627\u0646 \u067e\u06cc\u0646\u06af \u0627\u0632 1000 \u0645\u06cc\u0644\u06cc \u062b\u0627\u0646\u06cc\u0647 \u0641\u0631\u0627\u062a\u0631 \u0631\u0641\u062a&#8221;<\/span><\/div>\n<\/div>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-44742\" src=\"data:image\/svg+xml,%3Csvg%20xmlns=\" alt=\"\" width=\"310\" height=\"296\" data-lazy-srcset=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/1704028391_781_Bash-Until-Loops.png 310w, https:\/\/linuxhint.com\/wp-content\/uploads\/2019\/08\/2-4-300x286.png 300w\" data-lazy-sizes=\"(max-width: 310px) 100vw, 310px\" data-lazy-src=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/1704028391_781_Bash-Until-Loops.png\" http: title=\"\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-44742\" src=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/1704028391_781_Bash-Until-Loops.png\" alt=\"\" width=\"310\" height=\"296\" srcset=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/1704028391_781_Bash-Until-Loops.png 310w, https:\/\/linuxhint.com\/wp-content\/uploads\/2019\/08\/2-4-300x286.png 300w\" sizes=\"(max-width: 310px) 100vw, 310px\" title=\"\"><\/p>\n<p>\u0645\u062b\u0627\u0644 \u0633\u0648\u0645 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0645\u06cc \u06af\u06cc\u0631\u062f \u0648 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0627 \u062e\u0648\u062f\u0634 \u062a\u0631\u06a9\u06cc\u0628 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0627\u0646\u062f\u0627\u0632\u0647 \u0622\u0646 \u0628\u0647 1 \u06a9\u06cc\u0644\u0648\u0628\u0627\u06cc\u062a \u0628\u0631\u0633\u062f:<\/p>\n<div class=\"codecolorer-container bash default\" style=\"overflow:auto;white-space:nowrap;width:700px;height:350px;\">\n<div class=\"bash codecolorer\"><span class=\"co0\">#!\/\u0635\u0646\u062f\u0648\u0642\u0686\u0647\/bash<\/span><br \/>\n<span class=\"re2\">\u0646\u0627\u0645 \u0641\u0627\u06cc\u0644<\/span>=<span class=\"sy0\">`<\/span><span class=\"kw2\">\u0646\u0627\u0645 \u067e\u0627\u06cc\u0647<\/span> <span class=\"st0\">&#8220;0$&#8221;<\/span><span class=\"sy0\">`<\/span><br \/>\n<span class=\"kw3\">echo<\/span> <span class=\"re1\">$FILENAME<\/span><br \/>\n<span class=\"re2\">TMP_FILE<\/span>=<span class=\"st0\">&#8220;.\/tmp1&#8221;<\/span><br \/>\n<span class=\"re2\">TARGET_FILE<\/span>=<span class=\"st0\">&#8220;.\/\u0647\u062f\u0641&#8221;<\/span><br \/>\n<span class=\"kw2\">\u06af\u0631\u0628\u0647<\/span> <span class=\"re1\">$FILENAME<\/span> <span class=\"sy0\">><\/span> <span class=\"re1\">$TARGET_FILE<\/span><br \/>\n<span class=\"re2\">\u062d\u062c\u0645 \u0641\u0627\u06cc\u0644<\/span>=<span class=\"nu0\">0<\/span><\/p>\n<p><span class=\"co0\"># \u062d\u062c\u0645 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u062a\u0627 1 \u06a9\u06cc\u0644\u0648\u0628\u0627\u06cc\u062a \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f<\/span><br \/>\n<span class=\"kw1\">\u062a\u0627 \u0632\u0645\u0627\u0646<\/span> <span class=\"br0\">[<\/span> <span class=\"re1\">$FILESIZE<\/span> <span class=\"re5\">-gt<\/span> <span class=\"nu0\">1024<\/span> <span class=\"br0\">]<\/span><br \/>\n<span class=\"kw1\">\u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u0646<\/span><\/p>\n<p>  <span class=\"co0\"># \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0647 \u0645\u062d\u062a\u0648\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0647\u062f\u0641 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<\/span><\/p>\n<p>  <span class=\"kw2\">cp<\/span> <span class=\"re1\">$TARGET_FILE<\/span> <span class=\"re1\">TMP_FILE $<\/span><\/p>\n<p>  <span class=\"kw2\">\u06af\u0631\u0628\u0647<\/span> <span class=\"re1\">TMP_FILE $<\/span> <span class=\"sy0\">>><\/span> <span class=\"re1\">$TARGET_FILE<\/span><\/p>\n<p>  <span class=\"re2\">\u062d\u062c\u0645 \u0641\u0627\u06cc\u0644<\/span>=<span class=\"sy0\">`<\/span><span class=\"kw2\">du<\/span> <span class=\"re1\">$TARGET_FILE<\/span> <span class=\"sy0\">|<\/span> <span class=\"kw2\">\u0628\u06cc\u062e\u06cc\u0627\u0644<\/span> <span class=\"st_h\">&#8216;{ print $1 }&#8217;<\/span><span class=\"sy0\">`<\/span><\/p>\n<p>  <span class=\"kw3\">echo<\/span> <span class=\"st0\">&#8220;\u062d\u062c\u0645 \u0641\u0627\u06cc\u0644: <span class=\"es2\">$FILESIZE<\/span>&#8220;<\/span><\/p>\n<p>  <span class=\"kw2\">\u062e\u0648\u0627\u0628<\/span> <span class=\"nu0\">1<\/span><br \/>\n<span class=\"kw1\">\u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647<\/span><\/p>\n<p><span class=\"kw3\">echo<\/span> <span class=\"st0\">&#8220;\u0627\u0646\u062f\u0627\u0632\u0647 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0628\u0647 \u0647\u062f\u0641 1 \u06a9\u06cc\u0644\u0648\u0628\u0627\u06cc\u062a \u0631\u0633\u06cc\u062f\u0647 \u0627\u0633\u062a&#8221;<\/span><\/div>\n<\/div>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-44743\" src=\"data:image\/svg+xml,%3Csvg%20xmlns=\" alt=\"\" width=\"253\" height=\"259\" data-lazy-src=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/1704028392_375_Bash-Until-Loops.png\" http: title=\"\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-44743\" src=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/1704028392_375_Bash-Until-Loops.png\" alt=\"\" width=\"253\" height=\"259\" title=\"\"><\/p>\n<p>\u0645\u062b\u0627\u0644 \u0686\u0647\u0627\u0631\u0645 \u0627\u0632 \u06a9\u0627\u0631\u0628\u0631 \u0645\u06cc \u062e\u0648\u0627\u0647\u062f \u062a\u0627 \u0646\u0627\u0645 \u062e\u0648\u062f \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0646\u062f \u062a\u0627 \u062e\u0631\u0648\u062c\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u062e\u0631\u0648\u062c \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u0627\u0631\u062f \u06a9\u0646\u062f:<\/p>\n<div class=\"codecolorer-container bash default\" style=\"overflow:auto;white-space:nowrap;width:700px;\">\n<div class=\"bash codecolorer\"><span class=\"co0\">#!\/\u0635\u0646\u062f\u0648\u0642\u0686\u0647\/bash<\/span><br \/>\n<span class=\"re2\">\u0648\u0627\u06a9\u0646\u0634<\/span>=<span class=\"st0\">&#8220;FOO&#8221;<\/span><\/p>\n<p><span class=\"co0\"># \u062d\u062c\u0645 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u062a\u0627 1 \u06a9\u06cc\u0644\u0648\u0628\u0627\u06cc\u062a \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f<\/span><br \/>\n<span class=\"kw1\">\u062a\u0627 \u0632\u0645\u0627\u0646<\/span> <span class=\"br0\">[<\/span> <span class=\"st0\">&#8220;<span class=\"es2\">$RESPONSE<\/span>&#8220;<\/span> = <span class=\"st0\">&#8220;exit&#8221;<\/span> <span class=\"br0\">]<\/span><br \/>\n<span class=\"kw1\">\u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u0646<\/span><\/p>\n<p>  <span class=\"kw3\">echo<\/span> <span class=\"re5\">-n<\/span> <span class=\"st0\">&#8220;\u0646\u0627\u0645 \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f \u06cc\u0627 &#8220;\u062e\u0631\u0648\u062c&#8221; \u0631\u0627 \u0628\u0631\u0627\u06cc \u062e\u0631\u0648\u062c \u0627\u0632 \u0627\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f:<\/span><\/p>\n<p>  <span class=\"kw2\">\u062e\u0648\u0627\u0646\u062f\u0646<\/span> \u0648\u0627\u06a9\u0646\u0634<br \/>\n  <span class=\"kw1\">\u0627\u06af\u0631<\/span> <span class=\"br0\">[<\/span> <span class=\"st0\">&#8220;<span class=\"es2\">$RESPONSE<\/span>&#8220;<\/span> <span class=\"sy0\">!<\/span>= <span class=\"st0\">&#8220;exit&#8221;<\/span> <span class=\"br0\">]<\/span>; <span class=\"kw1\">\u0633\u067e\u0633<\/span><\/p>\n<p>    <span class=\"kw3\">echo<\/span> <span class=\"st0\">&#8220;\u0633\u0644\u0627\u0645 <span class=\"es2\">$RESPONSE<\/span>&#8220;<\/span><\/p>\n<p>  <span class=\"kw1\">\u0641\u06cc<\/span><br \/>\n<span class=\"kw1\">\u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647<\/span><\/p>\n<p><span class=\"kw3\">echo<\/span> <span class=\"st0\">&#8220;\u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0627\u06cc\u0646 \u0628\u0627\u0632\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u06cc\u062f \u0645\u062a\u0634\u06a9\u0631\u0645&#8221;<\/span><\/div>\n<\/div>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-44744\" src=\"data:image\/svg+xml,%3Csvg%20xmlns=\" alt=\"\" width=\"398\" height=\"176\" data-lazy-srcset=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/1704028392_679_Bash-Until-Loops.png 398w, https:\/\/linuxhint.com\/wp-content\/uploads\/2019\/08\/4-4-300x133.png 300w\" data-lazy-sizes=\"(max-width: 398px) 100vw, 398px\" data-lazy-src=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/1704028392_679_Bash-Until-Loops.png\" http: title=\"\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-44744\" src=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/1704028392_679_Bash-Until-Loops.png\" alt=\"\" width=\"398\" height=\"176\" srcset=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2023\/12\/1704028392_679_Bash-Until-Loops.png 398w, https:\/\/linuxhint.com\/wp-content\/uploads\/2019\/08\/4-4-300x133.png 300w\" sizes=\"(max-width: 398px) 100vw, 398px\" title=\"\"><\/p>\n<h4><strong>\u0646\u062a\u06cc\u062c\u0647<\/strong><\/h4>\n<p>\u0646\u06a9\u062a\u0647 \u06a9\u0644\u06cc\u062f\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0633\u062a <strong>\u062a\u0627 \u0632\u0645\u0627\u0646<\/strong> \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u06cc\u200c\u0631\u0648\u062f \u0634\u0631\u0637 \u0647\u0645\u06cc\u0634\u0647 \u0646\u0627\u062f\u0631\u0633\u062a \u0628\u0627\u0634\u062f \u0648 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0634\u0631\u0637 \u062f\u0631\u0633\u062a \u0634\u062f\u060c \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0639\u0645\u0644 \u062d\u0644\u0642\u0647 \u0632\u062f\u0646 \u062e\u0648\u062f \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u06a9\u062f \u0634\u0645\u0627 \u0648\u0627\u0636\u062d\u200c\u062a\u0631 \u0634\u0648\u062f.  \u0628\u0647 \u0639\u0628\u0627\u0631\u062a \u062f\u06cc\u06af\u0631\u060c \u062d\u0644\u0642\u0647 \u0631\u0627 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f <strong>\u062a\u0627 \u0632\u0645\u0627\u0646<\/strong> \u062f\u0631 \u0645\u0642\u0637\u0639\u06cc \u0627\u0632 \u0632\u0645\u0627\u0646  \u0628\u0627 \u0627\u06cc\u0646 \u062f\u06cc\u062f\u06af\u0627\u0647 \u0627\u0645\u06cc\u062f\u0648\u0627\u0631\u0645 \u0634\u0645\u0627 bash \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0648\u0627\u0636\u062d \u062a\u0631 \u0628\u0627\u0634\u0646\u062f \u0648 \u0634\u0645\u0627 \u0628\u0627 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0686\u06cc\u0632\u06cc \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u0647 \u0627\u06cc\u062f.  \u0645\u062a\u0634\u06a9\u0631\u0645.\n<\/p>\n<\/div>\n\n<div>\u0628\u0631\u0627\u06cc \u0646\u06af\u0627\u0631\u0634 \u0628\u062e\u0634\u0647\u0627\u06cc\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u0645\u062a\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0627\u0632 \u062a\u0631\u062c\u0645\u0647 \u0645\u0627\u0634\u06cc\u0646\u06cc \u06cc\u0627 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc GPT \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f <br \/>\n\u0644\u0637\u0641\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a \u0648\u062c\u0648\u062f \u0645\u0634\u06a9\u0644 \u062f\u0631 \u0645\u062a\u0646 \u06cc\u0627 \u0645\u0641\u0647\u0648\u0645 \u0646\u0628\u0648\u062f\u0646 \u062a\u0648\u0636\u06cc\u062d\u0627\u062a\u060c \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062f\u06a9\u0645\u0647 \u06af\u0632\u0627\u0631\u0634 \u0646\u0648\u0634\u062a\u0627\u0631 \u06cc\u0627 \u062f\u0631\u062c \u0646\u0638\u0631 \u0631\u0648\u06cc \u0627\u06cc\u0646 \u0645\u0637\u0644\u0628 \u0645\u0627 \u0631\u0627 \u0627\u0632 \u062c\u0632\u06cc\u06cc\u0627\u062a \u0645\u0634\u06a9\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0634\u062f\u0647 \u0645\u0637\u0644\u0639 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0622\u0646 \u0631\u0633\u06cc\u062f\u06af\u06cc \u06a9\u0646\u06cc\u0645\n<\/div>\n<p>\u0632\u0645\u0627\u0646 \u0627\u0646\u062a\u0634\u0627\u0631: 1402-12-31 16:43:06<br \/>\n<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-center kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;center&quot;,&quot;id&quot;:&quot;12837&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;\u0627\u0645\u062a\u06cc\u0627\u0632 \u0634\u0645\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0637\u0644\u0628&quot;,&quot;legend&quot;:&quot;0\\\/5 (0 \u0631\u0627\u06cc)&quot;,&quot;size&quot;:&quot;30&quot;,&quot;title&quot;:&quot;Bash Until Loops&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ({count} \u0631\u0627\u06cc)&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 24px;\">\n            <span class=\"kksr-muted\">\u0627\u0645\u062a\u06cc\u0627\u0632 \u0634\u0645\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0637\u0644\u0628<\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">\u0632\u0645\u0627\u0646 \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u0645\u0637\u0627\u0644\u0639\u0647: <\/span> <span class=\"rt-time\"> 3<\/span> <span class=\"rt-label rt-postfix\">\u062f\u0642\u06cc\u0642\u0647<\/span><\/span>\u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641\u06cc \u0627\u0632 \u062d\u0644\u0642\u0647 \u0647\u0627 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u062f\u0631 \u0622\u0646\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f bash \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0627 \u0628\u0631\u0627\u06cc \u062d\u0644\u0642\u0647 \u0647\u0627\u060c \u062d\u0644\u0642\u0647 \u0647\u0627\u06cc while \u0648 \u062a\u0627 \u062d\u0644\u0642\u0647 \u0647\u0627. \u0627\u0632 \u0646\u0638\u0631 \u0645\u0641\u0647\u0648\u0645\u06cc\u060c \u062d\u0644\u0642\u0647 for \u0628\u0627\u06cc\u062f \u0628\u0631\u0627\u06cc \u062d\u0644\u0642\u0647 \u0632\u062f\u0646 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06cc\u06a9 \u0633\u0631\u06cc \u0622\u06cc\u062a\u0645 \u0647\u0627 \u0645\u0627\u0646\u0646\u062f \u062d\u0644\u0642\u0647 \u0632\u062f\u0646 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0647\u0631 \u0622\u06cc\u062a\u0645 \u062f\u0631 \u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u06cc\u0627 \u0647\u0631 \u0641\u0627\u06cc\u0644 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":12838,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2740,1062],"tags":[1061,2742,2748],"class_list":["post-12837","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bash-programming","category-bash-script","tag--bash-scripting","tag--bash","tag-2748"],"acf":[],"_links":{"self":[{"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/posts\/12837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/comments?post=12837"}],"version-history":[{"count":0,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/posts\/12837\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/media\/12838"}],"wp:attachment":[{"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/media?parent=12837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/categories?post=12837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/tags?post=12837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}