bind '%' split-window -h -c '#{pane_current_path}' # Split panes horizontal
bind '"' split-window -v -c '#{pane_current_path}' # Split panes vertically
bind c new-window -c '#{pane_current_path}' # Create new window
Добавьте последнюю строку в свой ~ / .tmux.conf
, чтобы также поддерживать $ PWD
в новом окне.
Tu echo
es uno de los que interpreta backslash -escapa . Un \n
significa una nueva línea, por lo que obtienes exactamente eso. La última barra invertida viene como -, ya que \s
no es un código de escape válido.
Make ejecuta los comandos a través de un shell, usando /bin/sh
por defecto, y en Debian eso es dash. El echo
integrado de Dash procesa las barras invertidas. Bash no. (Y tampoco lo hace el /bin/echo
externo en Debian, no es que importe a menos que ejecute explícitamente/bin/echo
).
Su mejor opción es usar printf
explícitamente, al menos es seguro porque siempre procesa los escapes de barra invertida -. Lo siguiente siempre debe hacer lo mismo, el \\n
al principio produce una barra invertida real y un n
, el \n
luego produce una nueva línea para finalizar la línea.
foo:
printf '\\newcommand\n' > foo
(o, si desea evitar el procesamiento de barras invertidas, utiliceprintf "%s" '\newcommand'
)
Consulte la pregunta ¿Por qué printf es mejor que echo? para obtener más detalles sobre echo
trampas.
Su echo
es compatible con POSIX y expande los escapes de barra invertida C. Esto es más probable porque /bin/sh
es dash
en lugar de bash.
Hay una solución simple :agregue otra barra invertida para citar la barra invertida:
test-makefile:
echo '\\newcommand{\\seance}{seance1}' > seances/seance.tex
Tenga en cuenta que el estándar POSIX marca los escapes de barra invertida C para echo
una extensión XSI pero el autor del conjunto de pruebas de cumplimiento de POSIX afirma que es necesario cumplir con XSI para cumplir con POSIX excepto cuando desee certificar solo un pequeño sistema para uso integrado.
Dado que no parece que la pregunta original se haya hecho para un pequeño sistema integrado, ese sistema necesitaría implementar extensiones XSI para cumplir.
Tenga en cuenta que bash
en plataformas certificadas POSIX como Solaris y Mac OS se compila de manera que viene con un echo
compatible de forma predeterminada. Entonces, el problema de que bash no es compatible con POSIX XSI por defecto es específico de Linux.