09-08-2016
I will try to give you program a test run but lacking
go it will take me a few days.
Quote:
Originally Posted by
mvdan
To be honest i haven't noticed this styleguide at all until today. Several things in there are IMHO rather questionable and my suggestion is that you shouldn't rely on that at all. Here are my main objections:
- Bash is the only shell scripting language permitted for executables.
Nonsense! Many applications prescribe a certain shell (SAP for instance enforces csh for system users) and to maintain a supported system you have to respect that, even if (conceivably) unhappy about it. Other systems (like the AIX i work on) use ksh, which IMHO is even better suited to shell programming than bash. But that is my opinion and to say "use this shell" or "use that shell" is like saying "only walk with your left foot" - ridiculous.
- Shell should only be used for small utilities or simple wrapper scripts.
ROFLMAO! Some of the scripts i maintain are several thousand lines long and contain calls to a shell library of functions which also is several thousand lines of code worth.
- [[ ... ]] is preferred over [, test and /usr/bin/[.
It is exactly the other way round: use "[ ... ]" instead of "[[ ... ]]" if you want to write portable scripts.
- Indent 2 spaces. No tabs.
I can understand the "no tabs", but 2 spaces is uncomfortable for some. I use 5 spaces, because it makes indentation standing out clearly (IMHO), but again: this is personal preference. A reformatter should be configurable in this regard. The same goes for:
- Put ; do and ; then on the same line as the while, for or if.
I like that style better than putting do/then in the next line, but that also is personal preference! It should be configurable in a reformatter.
- Use process substitution or for loops in preference to piping to while.
This takes the biscuit! Consider for foo in $(command) ; do: if command produces too many output words your foor-loop will crash with a "too many arguments" while the while-loop with the pipeline has no such limitations.
- Naming Conventions
This is just one more way to do things in a somewhat consistent way. Personally i am a fan of Hungarian-style Notation, which i use in a variation suited to shell programming: "ch" as prefix for strings (char), "i" for integers, "f" for file-/directory names, "p" (procedure) for local functions, "f_" for library functions, etc. Any system will do, as long as you consistently use it. Personally i also find Mixed case to be easier to read and write than the underscore-separated words. If pReadAttributeFromItem() or read_attribute_from_item() is better is everybodies guess, but i think it is personal preference.
I hope this helps.
bakunin
This User Gave Thanks to bakunin For This Post:
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have scripts which I want to convert in Linux format.
Note these scripts are in txt format.But I want to convert them in Linux, as DBA's will be using this script.
Any command or utility which converts tht files in proper Linux format.
Thanks in Adavce.
Kunal (1 Reply)
Discussion started by: niceboykunal123
1 Replies
2. UNIX for Dummies Questions & Answers
what is the difference between login and profile scripts versus the rc scripts? (1 Reply)
Discussion started by: rookie22
1 Replies
3. Shell Programming and Scripting
Hi,
I've written a script that runs on a Database server. It has to shutdown the Application server, do an Oracle Dump and then restart the Application server. Its been a long time since I wrote any shells scripts. Can you tell me if the scripts that I execute within my script will be executed... (3 Replies)
Discussion started by: brockwile1
3 Replies
4. Shell Programming and Scripting
Hi,
I have to write a program to compute the checksums of files
./script.sh
I wrote the program using bash and it took me forever since I am a beginner but it works very well.
I'm getting so close to the deadline and I realised today that actually I have to use normal Bourne shell... (3 Replies)
Discussion started by: pgarg1989
3 Replies
5. Shell Programming and Scripting
I have few files from windows which are tab delimited or ‘|' delimited files.
I need to convert these files without any delimiter ( so in a way it would become variable length with no delimiter )
Can someone help me with the command in bourne shell scripts., ( I am trying with awk )
Thanks In... (6 Replies)
Discussion started by: Shanks
6 Replies
6. UNIX for Dummies Questions & Answers
Hello,
I am trying to show today's date and time in a better format than ‘date' (Using positional parameters). I found a command mktime and am wondering if this is the best command to use or will this also show me the time elapse since 1/30/70? Any help would be greatly appreciated, Thanks... (3 Replies)
Discussion started by: citizencro
3 Replies
7. Shell Programming and Scripting
Dear Members,
I have a table REQUESTS in Oracle which has an attribute REQUEST_ACTION. The entries in REQUEST_ACTION are like, ME, MD, ND, NE etc.
I would like to create a script which will will call other scripts based on the request action.
Can we directly read from the REQUEST_ACTION... (2 Replies)
Discussion started by: Yoodit
2 Replies
8. UNIX for Dummies Questions & Answers
Hi,
I am new to shell scripting and exploring it , I have developed few sample shell script but I have developed them on windows xp notepad and then saving them on folder and then testing them on cywgin and running perfectly...but these scripts are in dos format and I want to convert them in unix... (1 Reply)
Discussion started by: rahul125
1 Replies
9. Shell Programming and Scripting
Dear all,
I am working on script which call other shell scripts in a loop but problem is from second script am not able to come out.
Here is the snippet:-
#!/bin/bash
HSFILE=/root/Test/Components.txt
LOGFile=/opt/domain/AdminDomain/application/logs... (3 Replies)
Discussion started by: sharsour
3 Replies