Shell scripting

Joined
Jul 7, 2006
Messages
29
Reaction score
1
Points
3
Your Mac's Specs
B&W G3, 400 MHz, 10.3; 2 GHz Gateway with WinXP and Debian Linux dual-boot
I want to put my program in a folder with some other stuff, including a .command file that will run the programming environment my program uses, tell it to open my program, and send it some flags.
I would like to set up the .command file so that it knows the path from which the commandline is called; ie, the path to the command file itself, so that a user can put this folder anywhere they like and be able to run it.

I also can't get the commandline to pass flags to the programming environment executable. This is the commandline I'm using, that should work:

####
#! /bin/sh

../Shared/Documents/CSHJr/JIsequencershare/Pd-0.39-2.app/Contents/MacOS/Pd -font 36
####

Now if I just take off the -font flag, it opens Pd fine. But like this, it says:

=========
Last login: Fri Sep 8 13:51:57 on ttyp1
/Users/Shared/Documents/CSHJr/JIsequencershare/JI.command; exit
Welcome to Darwin!
AC-T1212-M13:~ student$ /Users/Shared/Documents/CSHJr/JIsequencershare/JI.command; exit
retrying connect...
retrying connect...
retrying connect...
retrying connect...
retrying connect...
retrying connect...
retrying connect...
retrying connect...
retrying connect...
connecting stream socket: Invalid argument (22)
logout
[Process completed]
==========

I checked out the open, exec, and chflag commands, none of them seem to help. I would also like to replace that huge path to the executable with some sort of environment variable giving the path to where the command is called from.

Are either of these requests possible?
 
Joined
Jun 25, 2005
Messages
3,231
Reaction score
112
Points
63
Location
On the road
Your Mac's Specs
2011 MBP, i7, 16GB RAM, MBP 2.16Ghz Core Duo, 2GB ram, Dual 867Mhz MDD, 1.75GB ram, ATI 9800 Pro vid
I'm not really sure what your looking for, but try the below sample. Don't forget to make it executable.

I named the script test.sh in my root directory, cd'd to /tmp, and typed;
~/test.sh -font 35


#!/bin/sh

echo $0 #this is the path as typed to run this script.
echo $1 $2 #there are the two variables passed in

mypwd=`pwd` #get the present working directory the user executed this from.
echo $mypwd #echo the present working directory.

exit
 

Shop Amazon


Shop for your Apple, Mac, iPhone and other computer products on Amazon.
We are a participant in the Amazon Services LLC Associates Program, an affiliate program designed to provide a means for us to earn fees by linking to Amazon and affiliated sites.
Top