パーセント記号付きのRemoteCommandは機能しません。

パーセント記号付きのRemoteCommandは機能しません。

次のコマンド

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)

おすすめ記事