Muk*_*ul 2 linux bash shell scripting
命令有什么用bash -c
,我在网上冲浪时遇到了命令
ssh -t "${SSH_USER}@${SERVER_IP}" bash -c
Run Code Online (Sandbox Code Playgroud)
这里的第一部分显然是对服务器进行 ssh,但到底bash -c
负责什么?
bash -c
option withssh
是一种在 ssh 服务器上使用变量扩展执行多行命令的方法。
说你有
VAR1="Variable 1"
ssh app@HOSTNAME '
ls
pwd
if true; then
echo "True"
echo $VAR1 # <-- it won't work
else
echo "False"
fi
'
Run Code Online (Sandbox Code Playgroud)
但是用 bash -c
VAR1="Variable 1"
ssh -t "${SSH_USER}@${SERVER_IP}" bash -c "'
ls
pwd
if true; then
echo $VAR1 <-- This works
else
echo "False"
fi
'"
Run Code Online (Sandbox Code Playgroud)