我正在尝试编写包含 Tmux 命令的 bash 脚本:
#!/bin/bash
# script.sh
tmux -2 new-session -s name 'another_script.sh param'
#!/bin/bash
# another_script.sh
echo $1 > test
如果another_script.sh
已使用硬编码的参数值执行,则可以
tmux -2 new-session -s name 'another_script.sh param_value'
但是当我尝试使用变量时
tmux -2 new-session -s name 'another_script.sh $1'
尚未传递到another_script.sh
的参数$1
的值
有人知道我做错了什么吗?
变量不会在单引号中扩展。请改用双引号:
tmux -2 new-session -s name "another_script.sh $1"
PS:shellcheck会自动告诉你这一点。