저는 서로 다른 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}"