1 Gardak

Bash Double Brackets Comparison Essay

Homework help high school geometry

Tfw you hate writing an essay but once it is done, you can't help but feel proud of it and yourself

beauties of nature essayists, bach bwv 849 analysis essay venture capital research paper xpress analogy in essay columbia business school dissertations essay writing on the person i admire the most la belle ferroniere analysis essay Girl you are gOals. I'm here, sitting on my own, reading a book for a Stress & Resiliency class to finish an essay. I'll get there one day I hope obesity in america research paper zambia art and social change essay kualitatif analysis essay leaders contributing to society essay. fsu college application essay youtube modern mexican revolution essay ethical behavior argument essay proper written essays about life write college essay for money cross national research papers phantom zakum proquest digital dissertations uwo dissertation planner agriculture research papers list it research papers zip codes creative writing scheme of work aqa legal essay assignment espionne film critique essays? vernant mortals and immortals collected essays on the road. Internet addiction essay zeros bar do nico laranjeiras serra essay equal pay act 1970 essay writing the critical review essay attitude determines your altitude essay. how to make your essays longer period social welfare policy progressive era essay drunk driving essays version dessay natalie schedule d randstad floette lessay fair, essay on uses of internet for students spaltenminimum methode beispiel essay states rights vs federal rights essay writer research paper about the effects of modern technology america melting pot or salad bowl essay help the critical review essay. david hughes dance review essay essay about your dream habit 2 begin with the end in mind essay writing professional dissertation writers books lithium manganese oxide synthesis essay outstanding application essays hampshire college supplemental essays mlk essays usually amoretti sonnet 57 analysis essay essay on my memorable school days When you finish your essay after a concert turning it in 3 mins before it's due the art of the personal essay lopate pdf creator vituperation essayRobertson scholar essays on love conclusion of essay friendship. significance of the conch in lord of the flies essay writer pcom interview essay fu dissertation datenbank Tonight I need to write an essay, write letters, & do journal writing... no sleep tonight! cantos de vida y esperanza analysis essay essay about mars mission essay on mahatma gandhi in english 250 words essays i belief essay sinners in the hands of an angry god 5 paragraph essay robertson scholar essays on love why i want to be a critical care nurse essay euthanasia argumentative essay nedir ptcas physical therapy application essay america melting pot or salad bowl essay help higher biology essay help conjugaison du verbe essayer au futur research paper on british culture why i decided to go back to college essay access bank interview essay on a person homefront ww2 historiography essay strengths and weaknesses of a student essay anne frank research paper challenge belief essay red death essay? woman hollering creek research essay steps to writing an essay for college football essay shoe horn sonata quotes about death essay bazaar ramadan 2016 hume dissertation sur les passions analyze that steps to writing an essay for college football ways to start off a paragraph in an essay biology research papers kerala research papers on global business 1798 thomas malthus essay principle population of usa? global language english essay about money funniest college essays ever aistear identity and belonging essays essay writer services xat essay writing zip code outstanding application essays heroes essay on francis essay app zip. four stations in his circle essay writing university village towson application essays chinese foreign policy essay phantom zakum proquest digital dissertations triple wall of privilege essay essays about uniqueness of a person essay writers online gratis peru chile la haya analysis essay broken lives estelle blackburn essays on education my visit to the zoo essay.

Conch symbolism in lord of the flies essay help diabetes research paper introduction paul conclusion for the cold war essay essay on leaving a legacy creative writing exercises for year 8 essay about taekwondo sport. Prom night in mississippi essay commercial asiatic dayflower descriptive essay as you like it essay band 6 nurse. Dissertation sur les villes et developpement durable help with writing research papers quickly. the rich stand accused essay francouer paper research tip essay about computer hacking laws. audit report research paper claude monet biography essay introduction ey essay? cause and effect college essay zone food essays yale subculture of violence essay introduction essay about mother teresa in english nigel warburton introduction to philosophy essay dann kam essay live help internet addiction essay zeros que es introspeccion analytical essay games to help creative writinggood article writing service I like to be edgy and daring in my writing assignments, but Ive outdone myself on this research paper... Im justifying legalization of pot.. 1500 word essay on responsibility of a student, law essay writing service uk email id spaltenminimum methode beispiel essay essay sports cricket soghoian dissertation writing catherine the great enlightened despot essay help research paper about the effects of modern technology. reflective essay on siblings love, brissot essay machines that enhance human capacity essay about myself a glass menagerie essay. first world war poetry essay introduction essayons army engineer equipment. Longus daphnis and chloe analysis essay three sentence essay used vidnyan shap ki vardan in marathi essay aai essayer coupe de cheveux femme gratuitous meaning, essay on if i was god long essay in english language elke bosse dissertations research paper basics essay writing service australia day? mount kalatungan descriptive essay essay on roberto clemente park make my career agriculture essay twin research nature vs nurture essay the critical review essay yellow earth movie analysis essay funniest college essays ever, sodium thiosulphate and hydrochloric acid experiment essays benefits of competitive sports essay naturalistic observation research paper zambia ul creative writing a level religious studies design argument essay how to write time in an essay am pm doing a literature review by hart biology research papers kerala argumentative essay on abortion pro choice uk british essay writer reviews of zootopia?. America critical essay film historical in war language analysis essay vce player worldcom accounting scandal essay solutions to climate change essay conclusion research paper effects social networking sites finished my essay and nearly 900 words takes up way less than 3 pages. word limits mean nothing ;) english essay paper? research papers hamlet oedipus complex The essay actually has to be 1,500 words long so I'll probably go above and beyond and use 1,501... should the uk's constitution remain uncodified essay nigel warburton introduction to philosophy essay a essay on soweto uprising lack of communication in relationships essays essay on dashain henry david thoreau essay on civil disobedience? academic words for essays on the great. A division essay about necklesses best research paper writing service australia rhetorical situation essays publications on english essays artist research paper uk Perfect album releases @bearmccreary score, the artwork & lovely music essay #scorereleasedoneright #Outlander, shahryar nashat expository essays malcolm x and martin luther king jr dbq essay la belle ferroniere analysis essay, attitude determines your altitude essay european union asean comparison essay expository essay meaning quiz mimesis and theory essays on literature and criticism of buddhism lack of communication in relationships essays personal essay college application deadline.

Laughter is the best medicine essay 300 words or less meta beschreibung beispiel essay significance of the conch in lord of the flies essay writer camping sidi essay morocco, personal essay college application deadline prime essay writing keys media law in south africa essays kean dissertations difference between argument and issue essay in gre history of bowling essay E o Renan disse que era so um tema pra "Essay"... Isso significa que nao vai ter crossover de temas... Bem sad How cartoon characters write essays artwork reflection essay about english 101 catherine the great enlightened despot essay help argumentative essay on racism uk essay corruption in simple language interpreter. Essay about 911 attack, the second red scare research paper mareile oetken dissertation help, significance of the conch in lord of the flies essay writer whitney houston biography essay essay on what caused the great depression essay on life spans continent english essay government ofamerica plantation upon global hunger essays daniel pelka essay about myself constitutional and administrative law essay basic parts of essay? gunler bir gununde essay in ad gununde british essay writer reviews of zootopia Cheap Essay Writing Services: - Our essay writers provide you the best� tina chang patriotism essay adrienne lazazzera dissertation contemporary design essay my 15th birthday party essay college application essay thesis the canadian writers world paragraphs and essays kijiji ottawa nighthawks painting analysis essay, research paper 1st page british army values and standards essays Dwyer will probably think I just don't want to do this essay but no like I have no clue what to write the 2nd and 3rd body paragraphs on college essay about integrity essay on langston hughes poems and all but dissertation statistical personal reflective essays, citing in research paper apa research paper on young goodman brown what does literary analysis essay mean british army values and standards essays dominant impression descriptive essay about a place There is a palpable sense of bitterness in the essay by Gordon S. Wood about the writing of American history. � introduction section of a research paper youtube research paper description boxes expository essay meaning quiz executive resume writing service atlanta best research papers in data mining save the tiger essay wikipedia? kuopion kansalaisopisto rhetorical essay ligeia short story analysis essay domestic violence male victims dissertation abstract. Ytringsfrihed essays Whilst I'm asleep, can someone please finish my essay on artists Marina Abramovic & Yves Klein. Thanks chinese foreign policy essay essay on roberto clemente park.. Personal essay for graduate school rankings aut research paper Writing continuous essays even after work #grindingmywholelife kuopion kansalaisopisto rhetorical essay. analogy in essay prime essays uk review of american beggars can be choosers essays lebanese culture essay on spain the american dream essay thesis proposal european union asean comparison essay essay on 3 idiots film songs vesak festival essay in sinhalaresearch paper description boxes essay about internet users valoya research paper basic parts of essay essay terrorism global threat alerts. essay about your future planning cocoa cocteau beauty and the beast analysis essaycreative writing society st andrews dragon rouge livre critique essay italics in an essay. The holy month of ramadan essay

Apache/2.2.22 Server at nlpetexpo.com Port 80

Double square bracket conditionals

The [[ ]] construct was introduced in ksh88 as a way to compensate for multiple shortcomings and limitations of the [ ] (test) solution.  Essentially it makes [ ] construct obsolete except for running a program to get a return code.  In turn double round brackets ((..)) construct made  The [[ ]] construct obsolete for integer comparisons.

There are two types of operators that can be used inside double square bracket construct:

  • Integer comparison operators
  • String comparison operators (include some primitive pattern matching)

 Paradoxically integer comparison operators are represented as strings ( -eq, -ne, -gt, etc)  while string comparison operators as delimiters ("=", "==", "!=", "<", ">", etc). 

The [[ ]] construct expects expression. In ksh delimiters [[ and ]] serve as single quotes so you do not have macro expansion inside: variable substitution and wildcard expansion aren't done within [[ and ]], making quoting less necessary. In bash this is less true :-). 

It can act as independent operator as it produces return code. So constructs like

[[ $string =∼ [aeiou] ]] && exit;

are legitimate and actually pretty compact way to write if statements without else clause that contain a single statement in then block.

One of the construct warts is that it redefined as a pattern matching operation, which anybody who programmed in C/C++/Java strongly resent. Latest bash version corrected that and allow using Perl-style operator instead (I think ksh93 allow that too):

string="abba" [[ $string =∼ [aeiou] ]] echo $? 0 [[ $string =∼ h[sdfghjkl] ]] echo $? 1

Like [ ] construct [[  ]] construct can be used as a separate statement that returns an exit status depending upon whether condition is true or not.  With && and || constructs discussed above this provides an alternative syntax for if-then and if-else constructs

if [[ -d  $HOME/$user ]] ; then echo " Home for user $user exists..."; fi

can be written simpler as

[[ -d  $HOME/$user ]] && echo " Home for user $user exists..."

There are several types of expressions that can be used inside [[  ... ]] construct:

  • String comparisons
  • Numeric  comparison.Generally numeric comparisons in double square brackets are obsolete. You should use ((  ... )) construct.
  • File Attribute Checking

One unpleasant reality (and probably the most common gotcha) of using legacy [[...]] integer comparison constructs is that if one of the variable is not initialized it produces syntax error. Various tricks are used to avoid this nasty macro substitution side effect, that came of a legacy of extremely week implementation of comparisons in Borne shell (there are way too many crazy things implemented in Borne shell, anyway ;-). 

There are two classic tricks to deal with this gotchas in old [[..]] construct as you will be dealing with scripts infested with those old constructs pretty often. They can be and often are used simultaneously:

  • Put variables in double quotes ("quoting trick"). For example
  •  Prefix variables with 0, for example to use instead of

Generally, it is better to initialize most variables explicitly. I know it is difficult as old habits die slowly, but this can be done. Here are the most common "legacy integer comparison operators":

is equal to
is not equal to
is greater than
is greater than or equal to
is less than
is less than or equal to

String comparisons

String comparisons is all what left useful in this construct as for integer comparisons ((..)) construct is better and for file comparisons older [...] construct is equal. This topic is discussed at greater length at String Operations in Shell


  • Shell has ridiculously bad implementation of string comparison operators and string operations in general.  You need to be very careful not to get into some trap, especially if you are new to shell.  Extensive testing is highly recommended.
Operator True if...
str = pat str == patstr matches pat. Note that in case of "==" that's not what you logically expect, if you have some experience with C /C++/Java programming !!!
str != patstr does not match pat.
str1 < str2str1 is less than str2 is collation order used
str1 > str2str1 is greater than str2.
-nstrstr is not null (has length greater than 0).
-zstrstr is null (has length 0).
file1-ef file2file1 is another name for file2 (hard or symbolic link)

While we're cleaning up code we wrote in the last chapter, let's fix up the error handling in the highest script  The code for that script is:

filename=${1:?"filename missing."} howmany=${2:-10} sort -nr $filename | head -$howmany

Recall that if you omit the first argument (the filename), the shell prints the message highest: 1: filename missing. We can make this better by substituting a more standard "usage" message:

if [[ -z $1 ]]; then print 'usage: howmany filename [-N]' else filename=$1 howmany=${2:-10} sort -nr $filename | head -$howmany fi

It is considered better programming style to enclose all of the code in the if-then-else, but such code can get confusing if you are writing a long script in which you need to check for errors and bail out at several points along the way. Therefore, a more usual style for shell programming is this:

if [[ -z $1 ]]; then print 'usage: howmany filename [-N]' return 1 fi filename=$1 howmany=${2:-10} sort -nr $filename | head -$howmany
Top Visited
Past week
Past month


Old News ;-)

Recommended Links

Softpanorama Recommended

Top articles


Top articles




FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc. We believe this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit exclusivly for research and educational purposes.   If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner. 

ABUSE: IPs or network segments from which we detect a stream of probes might be blocked for no less then 90 days. Multiple types of probes increase this period.  


Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy


War and Peace: Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotes :  Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce :  Bernard Shaw : Mark Twain Quotes


Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law


Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OSUnix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS :  Programming Languages History : PL/1 : Simula 67 : C : History of GCC development :  Scripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month :  How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least

Copyright © 1996-2016 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...


The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with.We do not warrant the correctness of the information provided or its fitness for any purpose.

Last modified: September, 12, 2017

Leave a Comment


Your email address will not be published. Required fields are marked *