This is the output I want for echo $DIR1 : Apr2017_Blast_BC01
And this is the output I want for echo $DIR2 : Apr2017_Blast_BC15
This is the error I get when I execute the script :
Code:
[root@L28tstream1 ~]# ./script3.sh
./script3.sh: line 6: Apr2017_Blast_BC01: command not found
./script3.sh: line 7: Apr2017_Blast_BC15: command not found
What is wrong with the syntax in the script above?
the construct $(command) is called command substitution and evaluates to the output of command and you use it correctly for the assignment of the variables DAY, MONTH and YEAR. You do not want to use command substitution when you assign the values for DIR1 and DIR2.
It would be safer to wrap the entire assignment in double quotes as a common practice so that if you accidentally assign a space to either variable, then the assignment to DIR1 or DIR2 will not fail:-
Code:
HI_VAR="TextOnly"
LO_VAR="Text and space"
MY_VAR1="${HI_VAR}${LO_VAR}_other_text"
MY_VAR2=${HI_VAR}${LO_VAR}"_other_text" # May fail in some shells
I always clearly mark the variable name with curly braces { & } to ensure I don't confuse the variable with any literal text or underscores that follow. You can get trapped with things like this:-
""Quoting of variables is never a mistake. Especially beginners should do it always!
But - now for the advanced user - the quoting of an assignment value is only needed if there is a literal space.
It all displays in one line. Why is this, and how do I get it to display in two separate lines like the command above this?
Actually the main output I want is to get ONLY the day section of the whole date. Means I want to extract only '18' from 2015-08-18. This is for all the files in the directory.
Therefore, I use this command :
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)
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)
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)
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
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 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)
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)
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)