Use $SHELL to start $FZF_DEFAULT_COMMAND (#481)

This commit is contained in:
Junegunn Choi 2016-02-07 01:49:29 +09:00
parent 30bd0b53db
commit e95d82748f
3 changed files with 12 additions and 8 deletions

View File

@ -4,7 +4,6 @@ import (
"bufio"
"io"
"os"
"os/exec"
"github.com/junegunn/fzf/src/util"
)
@ -59,7 +58,7 @@ func (r *Reader) readFromStdin() {
}
func (r *Reader) readFromCommand(cmd string) {
listCommand := exec.Command("sh", "-c", cmd)
listCommand := util.ExecCommand(cmd)
out, err := listCommand.StdoutPipe()
if err != nil {
return

View File

@ -4,7 +4,6 @@ import (
"bytes"
"fmt"
"os"
"os/exec"
"os/signal"
"regexp"
"sort"
@ -720,11 +719,7 @@ func quoteEntry(entry string) string {
func executeCommand(template string, replacement string) {
command := strings.Replace(template, "{}", replacement, -1)
shell := os.Getenv("SHELL")
if len(shell) == 0 {
shell = "sh"
}
cmd := exec.Command(shell, "-c", command)
cmd := util.ExecCommand(command)
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr

View File

@ -5,6 +5,7 @@ import "C"
import (
"os"
"os/exec"
"time"
"unicode/utf8"
)
@ -126,3 +127,12 @@ func TrimLen(runes []rune) int {
}
return i - j + 1
}
// ExecCommand executes the given command with $SHELL
func ExecCommand(command string) *exec.Cmd {
shell := os.Getenv("SHELL")
if len(shell) == 0 {
shell = "sh"
}
return exec.Command(shell, "-c", command)
}