次のコマンド
tmux new -A -s $(date +%Y%m%d%H%M%S)
tmux
予想どおり、現在の日付/時刻の名前が付けられたセッションとして機能し、開始されます。
しかし、ssh
設定に同じ内容を追加すると、
RemoteCommand tmux new -A -s $(date +%Y%m%d%H%M%S)
それは言う
percent_expand: unknown key %Y
理由と回避策は何ですか?
確かに、ssh
頑張ってパーセント記号を広げる。この拡張機能を無効にする/選択解除する方法は?
答え1
%%
テキストが必要な場所に使用してください%
。これは非常に一般的です。単一のエスケープ文字を持つほとんどの文法では、文字を2倍にするとリテラル文字が生成されます。たとえば、正規表現\\
でリテラルバックスラッシュを一致させ、\\
引用符がないか二重引用符で囲まれたシェルワードからリテラルバックスラッシュ文字を取得し、%%
出力からリテラルパーセント記号を取得するなどの操作を実行します。printf
RemoteCommand tmux new -A -s $(date +%Y%m%d%H%M%S)
あなたが見つけたサマリーテーブルはあえてリストしていませんが%%
、OpenSSHマニュアルは。
date
何らかの理由で出力に文字通りのパーセント記号が必要な場合は、forを2倍に増やすことができます%
。日付と時刻date
の間にパーセント記号を入れます。 SSHリモートコマンドでは、SSH値を2倍、SSH値も2倍にするdate +%Y%m%d%%%H%M%S
必要があるため、4は1:を表します。date
%
RemoteCommand tmux new -A -s $(date +%Y%m%d%%%%%H%M%S)