I agree that the cd statements deserve special attention.
The first cd is to the current directory, so that is variable and depends on the directory from which the script is called.
Every command, like cd, cp and mkdir should have a RC check to see if the command failed and appropriate action (like exit) should be taken otherwise..
--
@wisecracker: a bit theoretical and probably not relevant for this example, but:
Last edited by Scrutinizer; 09-11-2016 at 04:57 PM..
This User Gave Thanks to Scrutinizer For This Post:
However the 'IFS' reason is new to me and would like to know more so thanks a lot. Off to look...
The "internal field separator" is a shell variable which tells the shell how separate "words" (=input fields) are separated from each other. Consider this command:
Somehow the shell has to know why this is to parse as a call to "command" with three different arguments, "arg1", "arg2" and "arg3". The reason is that in fact the command looks (for the shells parser) like this:
and because the default value for IFS is a space the shell sees four strings, of which the first is a command and the others are arguments. This is why you have to quote "words" (commands, arguments) containing spaces: quotes turn off the mechanism inside them.
Still you can redefine this IFS to split "words" at other boundaries than the usual spaces. Consider the following input file:
Now execute the following command (ksh, change "print -" to "echo" for bash):
Now change the while-line to:
and run again to see the difference.
The "internal field separator" is a shell variable which tells the shell how separate "words" (=input fields) are separated from each other. Consider this command:
Somehow the shell has to know why this is to parse as a call to "command" with three different arguments, "arg1", "arg2" and "arg3". The reason is that in fact the command looks (for the shells parser) like this:
and because the default value for IFS is a space the shell sees four strings, of which the first is a command and the others are arguments. This is why you have to quote "words" (commands, arguments) containing spaces: quotes turn off the mechanism inside them.
[..]
Not quite. In the example given, this is always a sequence of class [[:blank:]] characters, irrespective of the value of IFS :
Where [[:blank:]]+ means one or more characters from the [[:blank:]] character class (i.e. space or TAB).
When a line is read, this is determined during token recognition where it is determined that these are word tokens.
Then the shell grammar is used to determine that this is a simple command where the first field is the command name and remaining fields are the arguments for the command.
Hello,
I am trying to make a bash script, I tested nohup but it did not help me.
My code is:
ffmpeg -i $input_url -c:v copy -c:a copy -listen 1 -f mpegts http://localhost:port/live/test
When I open it in VLC, it starts feeding my screen and I see bitrate values.
When I stop watching it,... (4 Replies)
Hi Expert,
I have a .sh script in my home/new_dir/script.sh
This script creates number of output files at home/new_dir/email, home/new_dir/logs dir.
I am running this script using crontab (owner root).
Now this output files are getting created with
rw-r----- 1 root root
So if i... (2 Replies)
##Execute the EDW_MEM_KEY_UPDATE procedure
ext_sta=`sqlplus -s ${Connstr} <<eof
set heading off;
set pagesize 0;
set feedback off;
set serveroutput on;
execute EDW_MEM_KEY_UPDATE ;
quit;
here`
vara="ORA-"
var=`echo $ext_sta | grep -c $vara `
Hi All,
above is a part of my unix... (7 Replies)
Hi all
I run my program prog.c in the following way :
$ ./prog 1 > output.txt where 1 is a user defined initial value used by the program.
But now I want to run it for many a thousand initial values, 1-1000, and store all the outputs in different files.
Like
$ ./prog 1... (1 Reply)
At a new job, I've inherited a handful of Solaris 10 SunFire V240 servers.
I noticed that the metadevices are not consistent, in a way that I've not seen before....
internal mirrored disks:
metadevice d60 has c1t0d0s6 as submirror 0 (d61) and c1t1d0s6 as submirror 1 (d62)
metadevice... (1 Reply)
hi
i need to check for the value of one particular field : in the output file. the file may contain many such records as below
how to ????
*** Throttled with base name + key params!
:
: -518594328
: les.alarm.LBS12005
: les.alarm.LBS12005
: les
: lessrv1
: les
: 2328
: 0... (7 Replies)
Hi ,
Just to find out a way to compare these 2 files and give unique output.
For eg:
1.txt contains
1
2
3
4
5
6
--------------------------------------
2.txt contains
1
2
6
8 (1 Reply)
I have a script running in the crontab that gets data from a database every hour. Now I would like to execute a fortran routine to process the data in some way, after getting it and saving it locally.
I have added the following commands to my script:
set convert =... (1 Reply)