Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Problems passing strings within an array Post 302780055 by hungryd on Wednesday 13th of March 2013 05:19:18 PM
Old 03-13-2013
Display Problems passing strings within an array

i have a list of apps that i need to forcequit and, from time to time, that list changes. perfect excuse to manage a single array! however, my strings with spaces aren't passing as i'd like them to. here's the simple script:

Code:
#!/bin/sh

#-----Array
apps=( firefox-bin firefox JavaApplicationStub groupwise "Google\ Chrome" "Microsoft\ Word" )

for i in "${apps[@]}"
do
	killall $i
done
exit 0

when i generate verbose feedback, i'm seeing each app in question quit EXCEPT for those with spaces. on a mac, in the command line, i have to type the following to forcequit word and chrome:

Code:
killall Microsoft\ Word
killall Google\ Chrome

but i can't seem to find a way to paste the correct syntax into the array to get these applications to quit as the others do. in the above script example, the result just says:

"+ for i in '"${apps[@]}"'
+ killall 'Microsoft\' Word
No matching processes were found"

any thoughts on what i might be missing?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Strange parameter passing problems (KSH)

Hi all, I'm having a rather peculiar problem involving parameter passing with declared functions in my shell script. Hope to get some advice here. A brief description of my code is as follows: However, I'm not getting the results I wanted. If I pass in $rdir, I'm going to end up... (4 Replies)
Discussion started by: rockysfr
4 Replies

2. UNIX for Dummies Questions & Answers

passing strings as arguments

Is it possible to pass a string as an argument from the command line? I know I can pass a word in but can I put a line of text in with spaces and fullstops or do I just put it in brackets or quotes so the compiler can differinate between the first argument and the second. (1 Reply)
Discussion started by: iago
1 Replies

3. Programming

array of strings

Hi I need a better idea to implementing following in my code. I need to store 80 long strings that will be used to display one by one in my GUI application. now i am storing those 80 long string in following two dimentational array. uchar vpn_alm_long_str={ } each index will be an... (1 Reply)
Discussion started by: davidcreston
1 Replies

4. Programming

Passing by value a char array

Hi I am passing or want to pass value of a char array, so that even thoug the called routine is changing the values the calling function should not see the values changed, meaning only copy should be passed Here is the program #include<iostream.h> #include<string.h> void f(char a); int... (5 Replies)
Discussion started by: rkraj
5 Replies

5. Shell Programming and Scripting

passing line into array

I am doing a shell script in ksh. I have an output from grep that goes something like this: wordIWasLookingFor anotherWordIWasLookingFor yetAnotherWordIWasLookingFor I want to toss each line into an array such that: myArray = wordIWasLookingFor myArray = anotherWordIWasLookingFor... (3 Replies)
Discussion started by: mrwatkin
3 Replies

6. Shell Programming and Scripting

Passing Array to awk

I'm trying to use the following command: awk -v array1=${array1} -f "filename.awk" input.txt Then within filename.awk I want to access array1. However, awk mistakes array1 (the third element of the array) for the input file. How I can pass awk this array? It also appears that awk scripts... (3 Replies)
Discussion started by: B-Ry
3 Replies

7. UNIX for Advanced & Expert Users

Passing full path as argument when it contains variable strings

Hi, In directory "inoutfiles", I have folders fold0001, fold0002 and so on. Every folder has corresponding file file0001.txt, file0002.txt and so on. I want to perform a certain action on multiple files in one go. The cpp file is in the same directory as "inoutfiles". This is my code : ... (0 Replies)
Discussion started by: KidD312
0 Replies

8. Programming

Passing full path as argument when it contains variable strings

Hi, In directory "inoutfiles", I have folders fold0001, fold0002 and so on. Every folder has corresponding file file0001.txt, file0002.txt and so on. I want to perform a certain action on multiple files in one go. The cpp file is in the same directory as "inoutfiles". This is my code : ... (1 Reply)
Discussion started by: KidD312
1 Replies

9. Shell Programming and Scripting

Bash Passing An Array

Good grief so this should be easy. Passing an array as an argument to a function. Here is the sample code: #/bin/bash function foo { local p1=${1} local p2=(${2}) local p3=${3} echo p1 is $p1 echo p2 is $p2 echo p3 is $p3 } d1=data1 d2=data2 a=(bat bar baz) (2 Replies)
Discussion started by: brsett
2 Replies

10. Shell Programming and Scripting

Problems passing shell arguments to perl

Semi-newbie, so flame throwers to 'singe-only', please. ;-) I have a large number of (say) .html files, where I'd like to do a recursive in-place search and replace a particular string. The following bit of perl works fine: perl -pi -e 's/oldstring/newstring/g' `find ./ -name *.html` ... (2 Replies)
Discussion started by: johnny_canucl
2 Replies
Launch(3)						User Contributed Perl Documentation						 Launch(3)

NAME
Mac::Apps::Launch - Mac module to launch /quit applications SYNOPSIS
use Mac::Apps::Launch; my @apps = qw(R*ch Arch MPGP); my $path = "HD:System Folder:Finder"; LaunchApps([@apps], 1) or warn $^E; # launch and switch to front LaunchApps([@apps]) or warn $^E; # launch and don't switch LaunchApps($app, 1) or warn $^E; # launch and switch to front LaunchSpecs($path, 1) or warn $^E; # use path instead of app ID QuitApps(@apps) or warn $^E; # quit all @apps QuitAllApps(@apps) or warn $^E; # quit all except @apps IsRunning('MACS'); # returns boolean for whether # given app ID is running SetFront('MACS') or warn $^E; # set Finder to front Hide('MACS') or warn $^E; # hide Finder Show('Finder', 1) or warn $^E; # show Finder (1 == use name) DESCRIPTION
Simply launch or quit applications by their creator ID. The Finder can be quit in this way, though it cannot be launched in this way. This module is used by many other modules. This module as written does not work with MacPerls prior to 5.1.4r4. "Hide" and "Show" do not currently work on Mac OS X. Apps that don't have signatures under Mac OS X currently aren't handled, except with LaunchSpecs(). "SetFront" and "IsRunning" can take a four-char creator ID ('MACS'), a bundle ID ('com.apple.Finder'), or a path (/System/Library/CoreServices/Finder.app). They both optionally take a second parameter which affirms that the data is indeed a path (for those rare cases where a path might possibly look like a creator ID or bundle ID ... you never know). "IsRunning" will return the PSN of the application if it is running, which you can then use for targetting the app, or converting to a PID (with "Mac::Processes::GetProcessPID()"), to send signals to it. EXPORT
Exports functions "QuitApps", "QuitAllApps", and "LaunchApps", "IsRunning", "LaunchSpecs", "SetFront", "Hide", "Show". AUTHOR
Chris Nandor <pudge@pobox.com>, http://pudge.net/ Copyright (c) 1999-2005 Chris Nandor. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.18.2 2007-01-03 Launch(3)
All times are GMT -4. The time now is 10:18 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy