|
#!/bin/sh |
|
|
|
current_dir=$PWD |
|
cmd="$1" |
|
name='ltsearch' |
|
go_name="${name}go" |
|
ruby_name="${name}ruby" |
|
ruby_path="$HOME/Git/lt-search" |
|
go_path="$HOME/Downloads" |
|
arg_name="$2" |
|
|
|
if [[ "$cmd" == 'start' ]]; then |
|
if [[ "$(lt-search pid ruby)" == "" ]]; then |
|
echo "Starting Search [RUBY $ruby_path]" |
|
cd $ruby_path |
|
screen -S $ruby_name -d -m bundle exec sidekiq -C config/sidekiq.yml |
|
echo $(lt-search status ruby) |
|
else |
|
echo "Search RUBY already running" |
|
fi |
|
|
|
if [[ "$(lt-search pid go)" == "" ]]; then |
|
echo "Starting Search [GO $go_path]" |
|
cd $go_path |
|
screen -S $go_name -d -m ./go-tour.lzh |
|
echo $(lt-search status go) |
|
else |
|
echo "Search GO already running" |
|
fi |
|
|
|
cd $current_dir |
|
elif [[ "$cmd" == "stop" ]]; then |
|
echo "Stopping search [RUBY]" |
|
eval "screen -ls | grep $ruby_name | cut -d. -f1 | awk '{print \$1}' | xargs kill -9" > /dev/null 2>&1 |
|
|
|
echo "Stopping search [GO]" |
|
eval "screen -ls | grep $go_name | cut -d. -f1 | awk '{print \$1}' | xargs kill -9 " > /dev/null 2>&1 |
|
|
|
screen -wipe > /dev/null 2>&1 |
|
elif [[ "$cmd" == "restart" ]]; then |
|
lt-search stop |
|
lt-search start |
|
elif [[ "$cmd" == 'show' ]]; then |
|
screen -r "${name}${arg_name}" |
|
elif [[ "$cmd" == 'pid' ]]; then |
|
echo `echo $(eval "screen -ls | grep "${name}${2}" | cut -d. -f1")` |
|
elif [[ "$cmd" == 'status' ]]; then |
|
if [[ "$arg_name" != "" ]]; then |
|
status=$(lt-search pid $arg_name) |
|
upper_name=$(echo "$arg_name" | awk '{print toupper($0)}') |
|
|
|
if [[ "$status" != "" ]]; then |
|
echo "Search $upper_name running [pid:$status]" |
|
else |
|
echo "Search $upper_name dead" |
|
fi |
|
else |
|
echo $(lt-search status ruby) |
|
echo $(lt-search status go) |
|
fi |
|
elif [[ "$cmd" == 'upgrade' ]]; then |
|
eval "curl https://gist.githubusercontent.com/nicholasrq/f2da0281e102144af3c3/raw/install | sh" |
|
else |
|
cat <<EOF |
|
|
|
Usage: lt-search command [options] |
|
|
|
start – start both Ruby and Go lt-search if not running |
|
stop – stop both Ruby and Go lt-search |
|
restart – restart both Ruby and Go lt-search |
|
show [ruby|go] – show Ruby or Go search log (screen, exit Cmd+A,D) |
|
status [ruby|go] – show status of Ruby or Go search |
|
pid [ruby|go] – show PID of Ruby or Go screen session |
|
upgrade – perform upgrade of current file if needed |
|
help – show this message |
|
EOF |
|
fi |