Top 10 Bash Programming Guides, Reference & Tools

Bash is a Unix/Linux  command interpreter (shell). Bash is the Bourne Again SHell created as part of  GNU Project.  Bash is an Bourne  shell compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It offers functional improvements over Bourne shell  for both programming and interactive use. In addition, most Bourne shell scripts can be run by Bash without modification. Bash  is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard.

Bash was originally written by Brian Fox of the Free Software Foundation. The current developer and maintainer is Chet Ramey of Case Western Reserve University.

The improvements offered by Bash include:

  • Command line editing
  • Unlimited size command history
  • Job Control
  • Shell Functions and Aliases
  • Indexed arrays of unlimited size
  • Integer arithmetic in any base from two to sixty-four

Here are the top 10 Bash Programming Guides, Reference  & Tools

Agile and Manual Testing in 2018 and Beyond

testing-agile-manual

The year 2017 was an exciting one for the software industry wherein many companies embraced Agile, DevOps, Scrum, and Continuous delivery models. With these approaches, software is now being rapidly developed and is released in the market a lot quicker than before. Most importantly, the quality of released software is more sustained and gaining the approval of both the stakeholder and the consumer. In fact, research by Technavio expects the global software testing market to grow steadily to around 14% in the coming years. The same study also reports that agile testing services are primarily responsible for the software growth in the market.

However, will these trends continue in 2018? What about the role of manual testers? We all know that software developers prefer software automation testing more because of its reliability, cost-effectiveness, and its ability to save time. But how will manual testers adopt to the growing changes in the future? 

How to Remove ^M in Linux & Unix

Control M ( ^M)  characters are introduced when you use  lines of text from a windows computer to  Linux or Unix machine.  Most common reasons are when you directly copy a file from a windows system or submit form data copied and pasted from a windows machine.

Detecting ^M characters

^M is non printable character and often becomes difficult to find, in order to see if your file contains any non printable character use the cat command with -v option

$cat -v filename

Methods to remove ^M

In all these method , real secret is not to type ^M using keyboard but rather typing in control key sequence to get the ^M control character.

Bash Positional Parameters

Shell has several special positional parameters which can be referenced but can not be assigned. These are used to process command line arguments in a shell script, to get process status, exit status and options flag.

These positional parameters can be assigned to a variable and values can be used for further processing.

 $0 , $1 $2 $3 … parameters

These are special parameters and and has specific meaning according to the number.  These parameters are useful if you want to validate executing file name and do the processing based on the arguments.

$0 : Shell argument 0, It expands into bash script file name or bash shell.

$1 $2 $3 …   : Shell argument number : Used to get the specific argument from the script.

for example let’s create & execute the test script with some parameters :

‘Amazon go’ – No Checkout Store Opens in Seattle

Amazon Go is a new kind of store with no checkout required,amazon go store

Use app to enter the store, and after that you don’t need it to shop. Browse and shop like you would at any other store and once you’re done you can simply walk out without having to stand in a checkout line.

Amazon Go store opening on Monday in Seattle is about 1,800 square feet store, located at 2131 7th Ave, Seattle, WA, opening from 7AM—9PM open Monday through Friday. The store will offer ready-to-eat breakfast, lunch, dinner, and snack options made by chefs and favorite local kitchens and bakeries. Grocery essentials ranges from bread and milk to artisan cheeses and locally made chocolates. There are Amazon Meal Kits to get the meal ready in 30 minutes!

Although there is no human involvement in checkout a lot of technology in use at the backend, the same types of technologies used in self-driving cars like computer vision, sensor fusion, and deep learning.

Here is a video to explain shopping experience at amazon go store.