shell - setting variable Linux -


i new linux shell scripting , trying set following variable size of folder path passed in keyboard. keep getting error saying invalid option. t

can tell me doing wrong? error disappears when remove "size" variable , leave is.

thanks!

#!/bin/bash  echo -e "\nenter first directory (relative path)" read dir1  size=find $dir1 -type f | wc -l    echo $size 

it should be:

size=$(find $dir1 -type f | wc -l) 

using $() notation means command should run , output placed on line.

this because variables assigned literal text values.

myvar=foo 

will put string "foo" myvar , not value of variable foo or result of foo command.

myvar=$foo 

will put value of variable foo myvar. and

myvar=$(foo) 

will put result of running command foo myvar.

there special part of shell syntax lets assign variable values before running command, , variable values set 1 command. looks this:

x=foo1 y=foo2 command parameter ... 

the way have written line

size=find $dir1 -type f | wc -l  

size assigned value of "find", then

$dir1 -type f  # won't valid command 

is executed separate command.


Comments

Popular posts from this blog

php - Wordpress website dashboard page or post editor content is not showing but front end data is showing properly -

javascript - Get parameter of GET request -

javascript - Twitter Bootstrap - how to add some more margin between tooltip popup and element -