Question: linux Imagine that script1 pipes into script2, which you would write by script1 | script2 . What this means is that script1 emits data (for

linux

Imagine that script1 pipes into script2, which you would write by script1 | script2. What this means is that script1 emits data (for example by echo) and that script2 is able to take that data (by read). Consider the scripts (on page2), which we'll call example1.sh, example2.sh, and example3.sh. You cannot use example3.sh in a pipe, because it's only configured to display an argument. So

echo "booh" | ./example3.sh

will display nothing, since example3.sh only displays an argument and piping passes data as input rather than argument. However, you could use example2.sh in a pipe because it displays the input accessed via the read command:

echo "booh" | ./example2.sh

would display booh. The inconvenience is that example2.sh doesn't work outside of a pipe. For example,

./example2.sh booh

would still ask you to input data, because example2.sh reads an input rather than an argument. If you want a script to which you can either give data by argument, or use in a pipe, use example1.sh. If that script has an argument then it uses it as data sources; otherwise it does a 'read', which is a way to grab data sent by pipes.

1)#!/bin/bash

if [ $# -eq 1 ] ;

then data=$1 Can be piped or called with argument

else

read data

2) #!/bin/bash

Read data piping only

Echo $data

3) #!/bin/bash arguments only

Echo1

Based on the explanations above, write a script which adds 1 to what is sent to it (either piped or argument). Here are two examples: should echo "5" | ./inc.sh | ./inc.sh | ./inc.sh display 8 (because it's the result of 5+1+1+1) ./inc.sh 13 (because it's 13+1)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!