So far you did fairly well. A few comments to your code:
First, you should not use backticks for command substitution any more. If you are not using an original Bourne shell (which would only know the backticks and nothing else) you should use the POSIX-construct you had at the beginning of the thread:
Second, you need only one quote for a whole string. i.e. replace this:
with this:
Third, you need no ";" at the end of a line. You only need them if you have more than one command on the same line:
but:
and a last point: when you use integer environments you should have spaces surrounding them. It is not only easier to read but some shells are quite picky about this:
Finally, a suggestion: when you write scripts you should try to avoid relative pathes. If you use "." or ".." in a script it tends to work if called in one directory but fail if called in another. Better to avoid this sort of risk and only use absolute pathes.
So, here is like i would write it:
Quote:
However, I have another part of the script that has this line :
I did not put the "" for the $MONTH$YEAR, but it still produced the output I wanted. Why is this?
A string is a string. Hence, this:
and this:
produces the same. It would not produce the same only if in the part not covered by quotes would contain something the shell interprets: blanks, tabs, newlines, and so on. Therefore you can (and in fact should, as i said above) cover always your whole string into a single pair of double quotes:
Hello
I am executing the following script
nawk 'NR == 1 || substr($0,63,5) ~ /H... / && \
_++ == 2 { fn && close(fn); fn = "part_" ++c; _ = 1 }
{ print > fn }' sample.dat
When i execute as it is it is executing fine. but when i execute the whole script as a single line like below
... (2 Replies)
I am executing the below in telnet
#!/usr/bin/ksh
File1=simple.txt # The file to check
LogFile=simple.log # The log file
DelayMax=30 # Timeout delay
Tolerance=2
# BEGIN ##############################
while true
do
StampNow=$(date +%s)/60 # stamp in minutes
... (3 Replies)
Hi ,
I m getting an error after executing the script.
My script.
Script is used to find out the date on 8 different machines(mentioned in SERVERNAMES file).
I have added public key to avoid ssh password and ssh without password working fine.
#!/bin/sh
fn_VMFind()
{
Date=`ssh -t... (5 Replies)
Hi
Please assist. Im getting an error while execuing the script name d "cdsnd.basel.cd_new
" as siiadm user. Thanks.
siiadm> ls -l
total 64
-rwxr-xr-x 1 siiadm sboadm 1004 Sep 17 2008 cdsnd.basel.cd
-rwxr-xr-x 1 siiadm sapsys 998 Nov 16 09:14 cdsnd.basel.cd_new... (1 Reply)
Hi,
I am not able to figure out what the problem is:
getting the following error
sqltst.sh: 1: not found
here is the script
#!/bin/sh
. /home/dev1/.profile
. /home/dev1/.infenv
`sqlplus -s $REPDB_LOGON << EOF
SET SERVEROUT ON
SET FEEDBACK OFF
SET HEADING OFF
SET TRIMSPOOL... (4 Replies)
hi all,
i am getting libssh2 error while executing script in RHEL 6, when i locate that file its not there below is the ouput of this
# locate libssh2_agent_init
# cat /etc/issue
Red Hat Enterprise Linux Server release 6.1 (Santiago)
Kernel \r on an \m
how do i resolve this issue, i... (1 Reply)
I have the following script test.sh owned by dwdev account and group dwdev, the permissions on the script are as follows.
-rw-r-x--- 1 dwdev dwdev 279 Sep 17 13:19 test.sh
Groups:
cat /etc/group | grep dwdev
dwdev:x:704:dwdev
dwgroup:x:725:dwdev
writers:x:726:dwdev
User:
cat /etc/passwd |... (3 Replies)
getting error as below while executing script in linux.
OS version:
Linux VGP-3GPSDB-LX 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
./imxtract.sh: line 395: unexpected EOF while looking for matching ``'
./imxtract.sh: line 402: syntax error:... (1 Reply)