Selective running


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Selective running
# 1  
Old 11-26-2013
Selective running

I have
Code:
[root@server ~] MegaCli64 -PDList -aALL | grep -E 'Enclosure Device ID|Slot Number'
Enclosure Device ID: 252
Slot Number: 0
Enclosure Device ID: 252
Slot Number: 1
Enclosure Device ID: 252
Slot Number: 2
Enclosure Device ID: 252
Slot Number: 3

I need to run the following command on all slots using a shell script.
Code:
MegaCli64 -pdInfo -physdrv\[252:0\] -aALL | grep "Firmware state"
MegaCli64 -pdInfo -physdrv\[252:1\] -aALL | grep "Firmware state"
MegaCli64 -pdInfo -physdrv\[252:2\] -aALL | grep "Firmware state"
MegaCli64 -pdInfo -physdrv\[252:3\] -aALL | grep "Firmware state"

# 2  
Old 11-26-2013
Assuming that the slot number is the one following the ":"

Code:
#!/bin/sh

i=0
while [ $i -le 10 ]
do
        MegaCli64 -pdInfo -physdrv\[252:${i}\] -aALL | grep "Firmware state"
        i=$(( $i + 1 ))
done

Here replace "10" by the number of slots you want to process.
# 3  
Old 11-26-2013
Thanks.

Here "Enclosure Device ID" and "Slot number" are variables. We need to grep out both variables and apply in script. And we cannot set a definite range for slots, 1 to 10. There can be more than 10 too.
# 4  
Old 11-26-2013
Try this
Code:
#!/bin/sh

newDeviceID=0
deviceID=0
slotNum=0

MegaCli64 -PDList -aALL | grep -E 'Enclosure Device ID|Slot Number' > infile
while read line
do
        newDeviceID=''
        newDeviceID=$(echo $line | awk -F": " '/Enclosure Device ID/ { print $2 }')
        [ ! -z "$newDeviceID" ] && deviceID=${newDeviceID} && continue
        slotNum=$(echo $line | awk -F": " '/Slot Number/ { print $2 }')
        MegaCli64 -pdInfo -physdrv\[${deviceID}:${slotNum}\] -aALL | grep "Firmware state"
done < infile

rm infile

This User Gave Thanks to chacko193 For This Post:
# 5  
Old 11-26-2013
Thanks a lot chacko123. It works fine.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Selective printing

I have the following contents in a file ---- CRITICAL: altered for /usr/bin/bin1 ---- OK: /usr/sbin/bin2 result fine ---- OK: /usr/sbin/bin3 result fine ---- CRITICAL: altered for /usr/bin/bin4 ---- OK: /usr/bin/bin5 result fine ---- OK: /usr/bin/bin6 result fine ---- CRITICAL: altered for... (9 Replies)
Discussion started by: anil510
9 Replies

2. UNIX for Dummies Questions & Answers

Selective replace

i have a large sequence of format sat_1_g3_g_0_8540 . A 1 15501 . . . ID=sat_1_g3_g_0_8540;parentName=sat_1_g3_g_0_8540;Al=sat_1_g2_g_0_8540; sat_1_g3_g_2_8510 . C 1 25501 . . . ... (11 Replies)
Discussion started by: siya@
11 Replies

3. Shell Programming and Scripting

Selective grouping

I have a text file in this format. Group: AAA Notes: IP : 11.11.11.11 #User xxxxxxxxx #Password aaaaaaaaaaaaaaaa Group: AAA Notes: IP : 11.11.11.22 #User yyyyyyyyyyyyy #Password bbbbbbbbbbbbb (8 Replies)
Discussion started by: anil510
8 Replies

4. Shell Programming and Scripting

Selective grep

I have to grep out only email address from a column. It has characters appended and prepended F=<sss1@domain.com> <sss2@domain.com> (sss3@domain.com) <sss4@domain.com> Whatever added before and after email, I should be able to grep out only emails. (9 Replies)
Discussion started by: anil510
9 Replies

5. UNIX for Dummies Questions & Answers

Help with selective ls

Hi all :wall: Can anyone advise how do I use ls to do a selective amd sorted listing of file that I want to have as below? Am looking for files that are named as log_<nnnn>.txt, where <nnnn> are numeric, i.e. I want to have a listing sorted from the newest to the oldest of files that... (7 Replies)
Discussion started by: newbie_01
7 Replies

6. UNIX for Dummies Questions & Answers

selective grep

Hello, I have been using the command below for file manipulation. while read A B; do grep $f1; done < f2 > f3 So, if a certain string is found in f2 (for ex; DOG243435) and it is also present in f1, then print that string plus the contents of the line in which it was found onto f3. ... (6 Replies)
Discussion started by: verse123
6 Replies

7. Shell Programming and Scripting

selective printing

hi all from below text "abcd,SYS_12345,xyz,PQR, ," I want to print only "abcd,SYS,xyz,PQR, ," i.e. taking only first three 3 chars from 2 string of comma separated file thanks (4 Replies)
Discussion started by: JoeColeEPL9
4 Replies

8. IP Networking

selective masquerading

I am running Linux 2.6.20 on i686 architecture. I want to be able to masquerade different hosts on my LAN to different external interfaces. Specifically, I want one specific host to masquerade through a vpn tunnel while the other hosts simply masquerade over the regular ISP interface. I only... (4 Replies)
Discussion started by: NESter
4 Replies

9. UNIX for Advanced & Expert Users

Selective Umask

Hi, We have umask 022 in /etc/profile for security reasons. But I want have some other umask for selected users. how to achieve this? Regards (3 Replies)
Discussion started by: baanprog
3 Replies

10. Shell Programming and Scripting

echo is selective?

i tried to ask about this earlier, but didn't explain well enough. From a script, i issue the following: echo `pgp --encrypt filename --recipient public-key` The result is perfect. The encrypted file is in the directory just as if i'd issued the pgp command from the command line. However,... (0 Replies)
Discussion started by: rgard
0 Replies
Login or Register to Ask a Question