Hi,
the subject of this mail might not be very clear, but I'd like to make a project command (like Charilaos proposed here: http:// lists.macromates.com/pipermail/textmate/2005-October/006283.html ) that restarts apache in a complicated way (because all the easy ways do not work for me) and then loads (or reloads) a given test url in the browser (in my case that's Safari atm).
I've come a long way, but still have some small questions:
1. How can a shell variable be used in a osascript oneliner? Currently I have osascript <<APPLESCRIPT tell app "Safari" to open location "$MY_TEST_URL" APPLESCRIPT which is working, beautifully. It opens the url in $MY_TEST_URL in Safari (in the background = without losing the focus in TextMate), and when this page is already opened in a window or a tab it just refreshes that window or tab. But if I try to make it into a oneliner the variable replacement fails: osascript -e 'tell app "Safari" to open location "$IR_LABSITE_TESTURL"'
2. Can a command in one bundle access the support folder of a different bundle? Or can a command from a different bundle be triggered from the current? I'd like to use the apachectlUsingKeychain.sh shell script that comes with the Apache bundle, but is there a way to access that bundle's support folder? Or do I have to copy the script to the support folder of my own bundle?
3. What does the '-ne' in 'if [[ $(ps -xp $PPID|wc -l) -ne 2 ]]; then' do? Inspired and guided by the Relaunch TextMate command in the TextMate bundle, I made the following which works: echo "$PWD" | sudo -S apachectl stop for (( i = 0; i < 50 && $(echo $(ps -ax | grep [h]ttpd | wc -l))
0; i++ )); do
sleep .2; done echo Apache has stopped echo "$PWD" | sudo -S apachectl start for (( i = 0; i < 50 && $(echo $(ps -ax | grep [h]ttpd | wc -l)) < 4; i++ )); do sleep .2; done echo Apache has started again It works in my few tests, but I'm afraid it will fail when it is taking apache too long to stop (or too long to start), so I trying to built in a test, just like in the Relaunch TextMate command. But what does that '-ne 2' stands for?
Thanks, dirk