私は異なるtmuxセッションで複数の専用サーバーを実行しています。ポートを変更し、すべてのtmuxセッションでコマンドを作成する必要があります。コマンドは次のとおりです。config['Port'] = 12345
、12345はポートです。私は私の入力を受け取り、他のすべてのtmuxセッションに入力したコードを使用してコード全体を入力するスクリプトを作成しようとしましたが、うまくいきませんでした。セッション名はです43210
。
#!/bin/bash
read -p '43210: ' avar
tmux attach-session -t 43210 "config['Port'] = ${avar}"
しかし、それはうまくいかず、次のようには表示されません。
usage: attach-session [-dr] [-t target-session]
答え1
bash
変数を拡張するには、シェルで二重引用符を使用します。値を変数に保存しても、実行する操作はavar
リテラル文字列として渡されます。一重引用符はシェル変数を拡張しないため、変数名の前にaを付けて二重引用符で囲む必要がありtmux attach-session
ます。$
スクリプトを次のように変更します。
read -p '43210: ' avar
tmux attach-session -t 43210 "config['Port'] = ${avar}"