Sponsored Content
Full Discussion: array to choices .. lost
Top Forums Shell Programming and Scripting array to choices .. lost Post 302381866 by zaxxon on Monday 21st of December 2009 07:45:43 AM
Old 12-21-2009
Maybe this script is an option for you; I did not alter your script just wrote it new:
Code:
#!/bin/bash

ARR=( `ls -1 file*` )
Z=1

for ELE in ${ARR[*]}; do
        printf "%-5d%-50s\n" $Z $ELE
        Z=$(($Z+1))
done

echo "--------------------------------"
read INPUT

I=$(($INPUT-1))
echo "You pressed [${INPUT}] for file [${ARR[${I}]}]"

exit 0

Output:
Code:
$> ll file*
-rw-r--r-- 1 root root 0 2009-12-21 13:23 file1
-rw-r--r-- 1 root root 0 2009-12-21 13:23 file2
-rw-r--r-- 1 root root 0 2009-12-21 13:23 file3
$> ./mach.ksh
1    file1
2    file2
3    file3
--------------------------------
2
You pressed [2] for file [file2]

If there could be a situation where there is no file, there will be an error so you might want to check additionally for files to fill your array 1st.

Last edited by zaxxon; 12-21-2009 at 09:31 AM.. Reason: Added info; shortened it and defined array directly
 

4 More Discussions You Might Find Interesting

1. Filesystems, Disks and Memory

Lost Data Lost Admin

First time so excuse my ignorance please. I may not be accurately describing the issue. I have inherited a small lab mostly SUN V120s. We lost power and are trying to recover. Nope no backups... The primary issue I have is 1 box is an Oracle Server. It has 2 36Gb harddrives. I am able to... (3 Replies)
Discussion started by: murphsr
3 Replies

2. Shell Programming and Scripting

Generating a list of choices in a menu

Hello all, I have the below script and I'm a little stuck on the best way to continue. Essentially I'm creating a text file (systems.txt) with a list of servers in it by hostname. Then I would like to echo a menu with each hostname and a number to use to pick it from the list. It's somehow... (7 Replies)
Discussion started by: sysera
7 Replies

3. Shell Programming and Scripting

Attempting to pass my array as a nested parameter to loop. A little lost.

I want to pass this array as a parameter. IFS=$'\n' fortune_lines=($(fortune | fold -w 30 )) Inside of this line screen -p 0 -S ${SCREEN_SESSION} -X stuff "`printf "say ${fortune_lines}\r"`" And I am lost at this point. I am thinking something like this? Then make it loop.. ... (7 Replies)
Discussion started by: briandanielz
7 Replies

4. Solaris

Lost out-of-band communication with 2540 Array

Hello Dears, My server hots cannot contacted my array disk 2540 by using out-of-band Ethernet Cable. The Controller Ethernet port is off , I replace the ethernet cable but not OK I reboot the server and the Array disk 2540 but Not OK. Please somebody know how to solve this issue? ... (1 Reply)
Discussion started by: ghislino
1 Replies
MERGE(1)						      General Commands Manual							  MERGE(1)

NAME
merge - three-way file merge SYNOPSIS
merge [ options ] file1 file2 file3 DESCRIPTION
merge incorporates all changes that lead from file2 to file3 into file1. The result ordinarily goes into file1. merge is useful for com- bining separate changes to an original. Suppose file2 is the original, and both file1 and file3 are modifications of file2. Then merge combines both changes. A conflict occurs if both file1 and file3 have changes in a common segment of lines. If a conflict is found, merge normally outputs a warning and brackets the conflict with <<<<<<< and >>>>>>> lines. A typical conflict will look like this: <<<<<<< file A lines in file A ======= lines in file B >>>>>>> file B If there are conflicts, the user should edit the result and delete one of the alternatives. OPTIONS
-A Output conflicts using the -A style of diff3(1), if supported by diff3. This merges all changes leading from file2 to file3 into file1, and generates the most verbose output. -E, -e These options specify conflict styles that generate less information than -A. See diff3(1) for details. The default is -E. With -e, merge does not warn about conflicts. -L label This option may be given up to three times, and specifies labels to be used in place of the corresponding file names in conflict reports. That is, merge -L x -L y -L z a b c generates output that looks like it came from files x, y and z instead of from files a, b and c. -p Send results to standard output instead of overwriting file1. -q Quiet; do not warn about conflicts. -V Print 's version number. DIAGNOSTICS
Exit status is 0 for no conflicts, 1 for some conflicts, 2 for trouble. IDENTIFICATION
Author: Walter F. Tichy. Manual Page Revision: 5.7; Release Date: 1995/06/01. Copyright (C) 1982, 1988, 1989 Walter F. Tichy. Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert. SEE ALSO
diff3(1), diff(1), rcsmerge(1), co(1). BUGS
It normally does not make sense to merge binary files as if they were text, but merge tries to do it anyway. GNU
1995/06/01 MERGE(1)
All times are GMT -4. The time now is 04:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy