зеркало из https://github.com/docker/kitematic.git
70 строки
1.5 KiB
Bash
Executable File
70 строки
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
CMD="clear && $*"
|
|
|
|
ITERM_EXISTS=`osascript <<EOF
|
|
set doesExist to false
|
|
try
|
|
do shell script "osascript -e 'exists application \"iTerm\"'"
|
|
set doesExist to true
|
|
end try
|
|
return doesExist
|
|
EOF`
|
|
|
|
function open_iterm () {
|
|
osascript > /dev/null <<EOF
|
|
tell application "iTerm"
|
|
activate
|
|
try
|
|
tell the first terminal
|
|
launch session "Default Session"
|
|
tell the last session
|
|
write text "bash -c \"$CMD\""
|
|
end tell
|
|
end tell
|
|
on error
|
|
tell (make new terminal)
|
|
launch session "Default Session"
|
|
tell the last session
|
|
write text "bash -c \"$CMD\""
|
|
end tell
|
|
end tell
|
|
end try
|
|
end tell
|
|
EOF
|
|
}
|
|
|
|
function open_iterm2point9 () {
|
|
osascript > /dev/null <<EOF
|
|
tell application "iTerm"
|
|
if version ≥ 2.9 then
|
|
activate
|
|
tell current window
|
|
create tab with default profile
|
|
tell first session of current tab
|
|
write text "bash -c \"$CMD\""
|
|
end tell
|
|
end tell
|
|
end if
|
|
end tell
|
|
EOF
|
|
}
|
|
|
|
function open_terminal () {
|
|
osascript > /dev/null <<EOF
|
|
tell application "Terminal" to activate
|
|
delay 0.4
|
|
tell application "System Events" to keystroke "t" using command down
|
|
tell application "Terminal"
|
|
do script "bash -c \"$CMD\"" in window 1
|
|
end tell
|
|
EOF
|
|
}
|
|
|
|
if [ "$ITERM_EXISTS" == "true" ]; then
|
|
open_iterm2point9 "$@" || open_iterm "$@" || open_terminal "$@"
|
|
else
|
|
open_terminal "$@"
|
|
fi
|