**Question**: Can I call **Git-Bash** to issue a command from **WSL**? Detailed contexts go between the two dividers. (*Simple solution appended towards the end of this question*.)

---

I use an alias to compile all my `*.tex` documents, using **Git-Bash** on
Windows 10. In my `c:/users/UserName/.bashrc`, I have mapped: 

```
alias lmk='latexmk -pvc -pdf --synctex=1 -src-specials -silent -time -interaction=nonstopmode'

```

With a native `Gvim.exe` editor and a **Git-Bash** instance that hosts the `latexmk` command, I no longer need to bother with the tedious compilation process.

However, when I issue the same `latexmk` command through WSL, I can no longer perform forward search and backward search. Some options for the compiler will write to the PDF (or its syntex file), mapping all lines on the PDF to the lines from the source file detailed in WSL-flavored paths. Another way to fix these is to: either opt completely into the WSL world, where I use the native editor + PDF viewer (which is completely new to me), or, to debug further into the compiler and see if I can swap out all the WSL-flavored paths into Windows-flavored paths (which is again, time-consuming).

A simple solution would be, to somehow call Git-Bash from WSL, whereby passing the `lmk` commands to the Git-Bash as command line arguments?

---

Aside from the details, in general, is **Git-Bash** some executable that I can call directly from WSL? If so, how to *tell* WSL that I would like to run the following "thing"? On my machine, I can find **Git-Bash** as: `"C:\Program Files\Git\git-bash.exe"`. I tried to pass `/mnt/c/Program\ Files/Git/git-bash.exe` to WSL, and it has only kindly opened a stand-alone Git Bash window.

[![enter image description here](https://i.stack.imgur.com/r9AuG.png)](https://i.stack.imgur.com/r9AuG.png)

---

One-liner solution using zsh + GitBash
--------------------------------------

I use `zsh` as my default shell for WSL, and here goes the function that I defined to
make `lmk TexFilename.tex` directly callable from WSL's command line:

```
function lmk(){
    "$(wslpath "C:\Program Files\Git\git-bash.exe")" --hide -c "lmk $1"
}
# Note, the `lmk` here is actually alias from Git-Bash, as defined in: c:/users/UserName/.

```

The following line makes terminating the hidden `bash`/`perl` process handy: issuing `lmk_kill` shall quite all running compilers (via `latexmk`, a perl-script).

```
alias lmk_kill="powershell.exe kill -n perl"

```

---

To summarize: with the new `zsh` function, I am compiling `*.tex` files from WSL as if I am using the native MikTeX compilers on Windows. This works well with my current settings of GVIM + Sumatra, where both forward and backward search are fully functional. 

---

Even simpler solution: host `latexmk` through PowerShell
--------------------------------------------------------

For details, refer to [this answer](https://superuser.com/a/1539624/361600) below. 

```
alias lmk='powershell.exe -c latexmk -pvc -pdf --synctex=-1 -src-specials -silent -time -interaction=nonstopmode'

```

And, compile `main.tex` files anywhere, say, in a pane of Tmux session on WSL, using simple command `lmk main.tex`.