私は比較的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 ...
}