linux - "bash -c"命令有什么用?

标签 linux bash shell scripting

bash -c命令有什么用,我在网上冲浪时遇到了这个命令

ssh -t "${SSH_USER}@${SERVER_IP}" bash -c  

这里的第一部分显然是对服务器进行 ssh,但是 bash -c 到底负责什么?

最佳答案

bash -c 选项和 ssh 就是一种在 ssh 服务器上通过变量扩展执行多行命令的方法。

假设你有

VAR1="Variable 1"
ssh app@HOSTNAME '
ls
pwd
if true; then
    echo "True"
    echo $VAR1      # <-- it won't work
else
    echo "False"
fi
'

但使用 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
'"

关于linux - "bash -c"命令有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43112061/

相关文章:

LINUX:ITIMER_PROF 的分辨率/粒度是多少?

c - 如何在 Linux 中获取 NIC RX 环数

bash - 跟踪不断更新的日志文件并在找到字符串时执行操作

c++ - 如何更改构建过程的优先级

linux - 如何在 Linux 中创建深度非压缩视频

c - CLOCK_TAI 的纪元是什么?

javascript - 使用 sh/bash 将 IPC 消息发送到父进程 (Node.js)

BASH 测试存在目录,变量作为路径

shell - 如何在 OOZIE 决策节点中使用逻辑运算符?

shell - 仅在构建失败时执行最终脚本