Setting up Shell Script project in eclipse:
Pre-Requisite:
- Eclipse Helios - 3.6.2 or
- Eclipse Indigo - 3.7.1
Via Help > Install New Software
- DLTK & H2 core framework from http://download.eclipse.org/technology/dltk/updates
- Man viewer tool from http://download.eclipse.org/technology/linuxtools/update
- ShellEd from http://sourceforge.net/apps/trac/shelled/wiki/ShellEd
CVS Commands
- cvsReleaseCreate
- cvsBranchAdd -r br_REL-112611 com/lowes/ss/tools/sisor/
- cvsBranchCheckout -r br_REL-112611 com/lowes/ss/tools/sisor/
- cvsBranchDelete -r br_REL-112611 com/lowes/ss/tools/sisor/
- cvs update
- rm -f exfixtruck;cvs delete exfixtruck
- cvs add ckbal
- cvs commit
Info CVS Commands
- cvsBranchInfo -r br_REL-112611 (Get details related to a branch)
Order of CVS Commands:
- cvs login
- cvsReleaseCreate (for a brand new Package)
- cvsBranchAdd (for a adding another module to existing branch)
- cvsBranchCheckout
- cvsBranchCommit
- cvs update
Useful Shell Commands
- Replace Tabspace with 8 blank spaces
- pr -t -e8 parmGen.sh > parmGen.sh.bak
- How to "test" shell script without running it?
- sh -n <shellscript.sh>
- Replace Trailing zeoes in CSV
- sed 's/0\{1,10\}@/0@/g'|sed 's/\.0\{1,10\}$/.0/g'
- Search for files containing strings in Dev52 Local src:
- find . -type f -exec grep -i "WHZI070A" '{}' \;
- find . -type f |xargs grep -i "WHZI070A"
Ksh Regular Expressions
Ksh has it's own regular expressions. Use an * for any string. So to get all the files ending it .c use *.c. A single character is represented with a ?. So all the files starting with any sign followed bye 44.f can be fetched by: ?44.f.
Especially in ksh there are quantifiers for whole patterns:
- ?(pattern) matches zero or one times the pattern.
- *(pattern) matches any time the pattern.
- +(pattern) matches one or more time the pattern.
- @(pattern) matches one time the pattern.
- !(pattern) matches string without the pattern.
So one can question a string in a variable like: if $var = fo@(?4*67).c ;then ...
Useful Vi Shortcuts
- In Vi: Jump to 519 line from current position
- type :519j
- In Vi: Junp to 519 line in file
- type :519G
Debug/Test Scripts
- /home/roc/userdata/input/sisor_test/utils/makeMenu.sh - Builds menuFlatFile
- /home/roc/userdata/input/sisor_test/test_sisor - SISOR only version
Misc. Info
- To look at the on-hold requests that need to be approved in roc: cd /home/login/roc/inprog; ls *.HOLD
- To look at what users are approved as approvers for the users: cd /home/login/roc/etc;grep ":s0998jb2" users
Useful Perl commands
- To find a list of all Installed Perl Modules:
- perl -MFile::Find=find -MFile::Spec::Functions -Tlwe \
- 'find { wanted => sub { print canonpath $_ if /\.pm\z/ }, no_chdir => 1 }, @INC'
- To make First character Uppercase:
- perl -ane ' foreach $wrd ( @F ) { print ucfirst($wrd); } '
DB2 commands
- To list all Local DB2 database instances on a server
- db2 list db directory | grep -vp Remote
- To run a simple SQL command
- echo "connect to lowes user storemnt using `dbPass storemnt` @
- set current schema=dbo@" | db2 +p -xtd@ > /dev/null;
- db2 -x "select * from T2150"
- To List user table in DB2:
- lsql "select distinct tabname, tabschema from syscat.tables where tabschema = 'DBO' "
- To List structure of table:
- db2 -x "describe select * from dbo.T2150"
- db2 -x "describe table dbo.T2150"
- To dump data in DB2 specifying a Delimiter
- db2 -x "export to 'testdump.dat' OF DEL MODIFIED BY COLDEL, select * from dbo.T2150"
- db2 -x "export to 'testdump.dat' OF DEL MODIFIED BY COLDEL, select SHT_DES_TXT, UPD_ID from dbo.T2150"
- To unload table data in DB2
- db2 -x "EXPORT TO 'T1297A.unl' OF DEL select * from T1297A where T024_ITM_NBR IN (126, 146, 578)"
- To load file data to table in DB2
- db2 -x "import from 'T1297A.unl.126' OF DEL insert into T1297A"
- echo "import from WHZT040A.38173.unl OF DEL insert into WHZT040A"|sql_udb
Note:
- Using sql_udb or lsql does not need you to start DB2 session.
- For simple db2, you will need to start a session (and end it).
- lsql will not work for export/insert/delete (any Db modify statements)
Using Local Store Menu
- To Generate MRZR310A report: From the menu, option 01.05.05.02
Code Propagation in Lowes via CVS
Qt in Cygwin
- I installed "KDE on Cygwin" by extracting the tar file in the root directory (creating /usr/lib/qt3/*).
- Create a ~/.profile file containing:
- QTDIR=/usr/lib/qt3
- PATH=$QTDIR/bin:$PATH
- MANPATH=$TQDIR/man:$MANPATH
- LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
- export QTDIR PATH MANPATH LD_LIBRARY_PATH
- Create the QT application in a selected directory:
- Compile and run using
- qmake -project
- qmake
- make