linux - 通过命令使用 ssh 和 pbrun 时出错

标签 linux shell unix ssh

我有一个命令可以ssh连接到服务器,pbrun连接到用户并一次创建一个目录。命令执行成功:

ssh severname ' pbrun su - userid - c "mkdir hello" '

当我将其放入 shell 脚本时,其中 servernameuseriddirectory 名称是可变的。
喜欢:

ssh $servername ' pbrun su - $userid - c "mkdir $dirname" '

我收到错误:

request reject by pbrun ..

帮助我避免错误。

注意:userid和其他变量的输入值是正确的,我验证了它们。

最佳答案

使用单引号 ('...'),您不会在执行 ssh 命令时扩展变量。
请改用双引号 ("..."),转义嵌入的引号:

ssh $servername " pbrun su - $userid - c \"mkdir $dirname\" "

关于linux - 通过命令使用 ssh 和 pbrun 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28014643/

相关文章:

python - 激活 venv 并从 shell 脚本运行 python 脚本

unix - gcc 条件编译

c - C 编程中如何调用变量指定 printf 的格式

c++ - 在 unix 上从 c/c++ 断点/调试其他用户进程

linux - 如何在 .cshrc 中设置以下内容以进行别名

c - 尝试使用合并排序读取文件时终端出现段错误

linux - Bash-4 递归的奇怪结果

c - 在windows机器上读取linux机器生成的二进制文件

linux - Postgres : psql: FATAL: role "postgres" does not exist

shell - 管道进入 "gradle run"