저는 상대적으로 zsh를 처음 사용하는 사용자이고 (불행히도) 쉘에 대해 잘 모릅니다. 그럼에도 불구하고 해시 값을 포함하는 .bashrc에 별칭을 정의하고 싶습니다. 그러나 zsh는 그것을 좋아하지 않는 것 같습니다. 내 명령은 기본적으로 LaTeX 파일의 문자열을 sed로 바꾸고 LaTeX를 실행한 다음 교체를 취소합니다.
alias tex-build='
sed -i \
's~\\newcommand{\\command}\[1\]{{here_is_the_command_stuff #1}}~\\newcommand{\\command}\[1\]{}~' \
/path/to/mytexfile.tex &&
latex ... &&
sed -i \
's~\\newcommand{\\command}\[1\]{}~\\newcommand{\\command}\[1\]{{here_is_the_command_stuff #1}}~' \
/path/to/mytexfile.tex
'
LaTeX 명령의 해시와 함께 작동하도록 이 별칭을 얻는 방법을 찾는 데 도움을 줄 수 있는 사람이 있습니까? 미리 감사드립니다!
답변1
첫째, zsh
읽혀지지 않습니다 .bashrc
. 이는 리소스 제어 파일 bash
이므로 에 zsh
넣거나 ..zshrc
.profile
둘째, 어떤 종류의 따옴표도 단순히 중첩할 수 없습니다. 'a long 'nested' string'
이는 중첩된 따옴표가 있는 문자열이 아니며, 따옴표 붙은 문자열 a long
, 맨 문자열, nested
따옴표 붙은 문자열이 뒤따르는 것입니다 string
.
당신이 하려는 일은 함수일 가능성이 더 높습니다. 또한 파일을 수정하고 수정된 양식에 대해 일회성 작업을 수행한 다음 다시 변경하므로 파일을 수정하지 않고 수정된 양식을 파이프라인으로 보내는 것이 더 간단합니다. 따라서 다음과 같습니다.
tex-build() {
sed \
's~\\newcommand{\\command}\[1\]{{here_is_the_command_stuff #1}}~\\newcommand{\\command}\[1\]{}~' \
/path/to/mytexfile.tex | latex ...
}