TeraTerm マクロでハマった話
TeraTermマクロを作成する際にハマって何時間も費やしてしまっため、備忘録として残しておきます。
何がしたかったか
TeraTermマクロを使用してEsxiのバックアップのマクロを作成していました。
その途中でvmidを取得するためのsendlnで以下コマンドをマクロで表現しようと思ったのですが、
’(アポストロフィ)がうまくいかず苦戦しました。
”vim-cmd vmsvc/getallvms |grep ‘[仮想マシン名]’ > test.txt”
TeraTermマクロについてはこちら
最初に
最初にマクロを記載します。
- GETVMID = ‘vim-cmd vmsvc/getallvms’
- VERSION = ‘[仮想マシン名]’
- strconcat GETVMID ‘ |grep ‘
- strconcat GETVMID “‘\”
- strconcat GETVMID VERSION
- strconcat GETVMID “‘”
- strconcat GETVMID ‘ > test.txt’
- sendln GETVMID
このマクロを実行するとGETMID内に”vim-cmd vmsvc/getallvms |grep ‘[仮想マシン名]’ > test.txt”
ハマった箇所
ハマった場所は4行目と6行目になります。
’(アポストロフィ)をstrconcatを使って文字列を継ぎ足すときにアスキーコード(#$27)を使用したり色々試行錯誤しました。
しかし単純に”(ダブルクォーテーション)で囲ってしまえば問題なくつぎ足すことができます。
最後に
わかっていれば大したことはないのですが、いろいろ調べまわって時間がかかってしまいました。。
-
前の記事
VMware Esxi 7に自動ログインするマクロ 2021.06.14
-
次の記事
sed ~文字列の抽出や変換~【Linuxコマンド集】 2021.06.19