01-06-2011
I just found another way to implement is is ksh using awk:
tmp=123456
echo $tmp | awk '{print substr($tmp,2,2)}'
result: 23
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Need Help... I am getting a bad substitution error on my script on a Solaris Server. However the script has been proven to work on HPUX and Solaris servers...
#!/usr/bin/sh
#
# Set the location of the tzupdater.jar file
#
JAR=/tmp/tzupdater.jar # <<<<< UPDATE THIS LINE... (3 Replies)
Discussion started by: D_Redd74
3 Replies
2. Shell Programming and Scripting
Hi All,
We are in the process of Migrating from AIX 4 to Solaris 10 and getting a Few Errors.
I have been programming in shell but could never establish muself as an expert, hence please need you help.
I am Getting Bad Substitution error in my script, I have isolated the issue and its... (6 Replies)
Discussion started by: paragkhanore
6 Replies
3. Shell Programming and Scripting
hi,
i created a shell script having the following content:
#! /usr/bin/ksh
FROM="myemail@domain.com"
MAILTO="someemail@domain"
SUBJECT="TEST"
BODY="/export/home/adshocker/body.txt"
ATTACH="/export/home/adshocker/attach.prog"
echo $ATTACH
ATTACH_NAME="${ATTACH##*/}"
echo $ATTACH_NAME... (5 Replies)
Discussion started by: adshocker
5 Replies
4. UNIX for Dummies Questions & Answers
#!/bin/bash
a1=( win 12,01,02,03,04 )
a2=( pre 04,05,06 )
a3=( msn 06,07,08,09 )
Given the above arrays, I want the script to return/echo the following in a loop;
win
12,01,02,03,04
pre
04,05,06,07
msn
06,07,08,09
But I can't get it to do as such.
I've tried; (2 Replies)
Discussion started by: Muhammad Rahiz
2 Replies
5. Shell Programming and Scripting
Hi All,
I'm building a new shell script but i'm facing a problem with one line which is giving "bad substitution" error. Please assist
script lines:
#!/bin/sh
printf "%s: " "Occurrence DATE (YYYYMMDD)"; read DATE
shortdate=${DATE#??}
o/p:
./test1: bad substitution
This command is... (2 Replies)
Discussion started by: Dendany83
2 Replies
6. Shell Programming and Scripting
Why I get bad replace when using eval?
$ map0=( "0" "0000" "0")
$ i=0
$ eval echo \${map$i}
0000
$ a=`eval echo \${map$i}` !!!error happens!!!
bash: ${map$i}: bad substitution
How to resolve it ?
Thanks! (5 Replies)
Discussion started by: 915086731
5 Replies
7. Shell Programming and Scripting
I have script data.sh which has following error.
Script Name : data.sh
#!/bin/sh
infile=$1
len=${#infile}
echo $len
texfile=${infile:0:$len-4}
echo $texfile
run command
./data.sh acb.xml
I get following error message: (5 Replies)
Discussion started by: man4ish
5 Replies
8. Shell Programming and Scripting
Hi I'm using ksh.
And i'm trying to get the substring like below.
but giving the following error
#!/bin/ksh
foo=teststring
bar=${foo:0:5}
echo $bar
And the error is
./sbstr_test.sh: bar=${foo:0:5}: bad substitution
what is wrong in this script. Please correct me
... (3 Replies)
Discussion started by: smile689
3 Replies
9. Shell Programming and Scripting
I want to get the last character from my machine name using the following code, the default shell is bash, the script runs in ksh.
I get 'bad' substitution error on running the script, but works fine if run using dot and space.
Why?
$ echo $0
bash
$ cat -n myenv.sh
1 ... (8 Replies)
Discussion started by: ysrini
8 Replies
10. Shell Programming and Scripting
Cant undestand :) why i have an error on line 2.it is working on my other boxes
#!/bin/bash
ret=$(echo Q | timeout 5 openssl s_client connect "${1`hostname`}:${2-443}" -ssl3 2> /dev/null)
if echo "${ret}" | grep -q 'Protocol.*SSLv3'; then
if echo "${ret}" | grep -q 'Cipher.*0000'; then
... (7 Replies)
Discussion started by: kenshinhimura
7 Replies
LEARN ABOUT OPENSOLARIS
rmvb
rmvb(9F) Kernel Functions for Drivers rmvb(9F)
NAME
rmvb - remove a message block from a message
SYNOPSIS
#include <sys/stream.h>
mblk_t *rmvb(mblk_t *mp, mblk_t *bp);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
mp Message from which a block is to be removed. mblk_t is an instance of the msgb(9S) structure.
bp Message block to be removed.
DESCRIPTION
The rmvb() function removes a message block (bp) from a message (mp), and returns a pointer to the altered message. The message block is
not freed, merely removed from the message. It is the module or driver's responsibility to free the message block.
RETURN VALUES
If successful, a pointer to the message (minus the removed block) is returned. The pointer is NULL if bp was the only block of the message
before rmvb() was called. If the designated message block (bp) does not exist, -1 is returned.
CONTEXT
The rmvb() function can be called from user, interrupt, or kernel context.
EXAMPLES
This routine removes all zero-length M_DATA message blocks from the given message. For each message block in the message, save the next
message block (line 10). If the current message block is of type M_DATA and has no data in its buffer (line 11), then remove it from the
message (line 12) and free it (line 13). In either case, continue with the next message block in the message (line 16).
1 void
2 xxclean(mp)
3 mblk_t *mp;
4 {
5 mblk_t *tmp;
6 mblk_t *nmp;
7
8 tmp = mp;
9 while (tmp) {
10 nmp = tmp->b_cont;
11 if ((tmp->b_datap->db_type == M_DATA) &&
(tmp->b_rptr == tmp->b_wptr)) {
12 (void) rmvb(mp, tmp);
13 freeb(tmp);
14 }
15 tmp = nmp;
16 }
17 }
SEE ALSO
freeb(9F), msgb(9S)
Writing Device Drivers
STREAMS Programming Guide
SunOS 5.11 16 Jan 2006 rmvb(9F)