如何在bash函数中传递第二个参数

比纳西斯德

假设我有一个这样的bash function地方:首先连接到远程桌面,然后在连接到远程桌面的命令行时使用第二个参数(这就是为什么我使用单引号引起来。我不确定如何围绕该$2论点。

my_func () {
ssh blah blah blah $1 'cd $2'
}

我不确定应该如何指定第二个参数。我试图在本地计算机上以以下方式运行此功能:my_func a b,其中b是远程桌面中的目录,但是我似乎没有预期的输出。

斯蒂芬·查泽拉斯(Stephane Chazelas)

您需要$2采用适合远程用户登录外壳的方式进行引用例如,假设它是像伯恩(Bourne)风格的:

shquote() {
  LC_ALL=C awk -v q=\' '
    BEGIN{
      for (i=1; i<ARGC; i++) {
        gsub(q, q "\\" q q, ARGV[i])
        printf "%s ", q ARGV[i] q
      }
      print ""
    }' "$@"
}

my_func () {
  ssh blah blah blah "$1" "cd -- $(shquote "$2")"
}

例如,shquote()将转换Stephane's dir为,'Stephane'\''s dir'因此cd -- 'Stephane'\''s dir'命令行由类似Bourne的远程Shell解释为cdStephane's dir目录参数一起运行

无论如何,只要在远程主机上运行一个Shell并cd不能达到任何有用的目的。

如何在ssh上执行任意简单命令而又不知道远程用户的登录shell的情况下,可以阅读更多的文章(以及更多的选项,包括远程用户的登录shell不像Bourne一样的情况)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将函数的第二个参数读入数组

来自分类Dev

可以将第二个参数传递给Controller构造函数吗?

来自分类Dev

模板参数和它自己的模板参数都包含名称相同的类型。如何在函数签名中引用第二个?

来自分类Dev

如何在WPF的第二个屏幕中启动第二个应用程序?

来自分类Dev

忽略函数的第二个参数

来自分类Dev

如何在Scala咖喱函数中绑定第二个参数?

来自分类Dev

如何在cli中访问倒数第二个命令的第二个参数?

来自分类Dev

如何在log4j中记录第二个参数

来自分类Dev

如何在ReactJS onSubmit函数调用中传递第二个参数

来自分类Dev

如何在bash中的模式(逗号)之后替换第二个模式(点)

来自分类Dev

如何在Javascript链函数中首先执行第二个函数?

来自分类Dev

将第二个参数传递给函数

来自分类Dev

向lapply函数添加第二个参数

来自分类Dev

bash [第二个参数:找不到命令

来自分类Dev

返回作为第二个参数传递的数组中第一个参数的索引的函数

来自分类Dev

可以将第二个参数传递给Controller构造函数吗?

来自分类Dev

当我在Bash函数中使用getopts时,为什么它在第二个调用中忽略参数?

来自分类Dev

如何在bash中获取上一个命令的倒数第二个参数?

来自分类Dev

如何在vc ++中将路径作为参数传递给第二个应用程序?

来自分类Dev

bash getopts无法识别第二个参数

来自分类Dev

将函数传递给Javascript中的函数会立即调用第二个函数

来自分类Dev

如何在第二个构造函数中调用构造函数?

来自分类Dev

C中的多参数函数,其中从不使用第二个参数

来自分类Dev

函数OBJECT_ID的第二个参数

来自分类Dev

如何在 Google V8 中传递 ObjectTemplate::New 的第二个参数?

来自分类Dev

我如何在javascript中先调用函数然后调用第二个

来自分类Dev

如何将第二个参数作为可选参数传递给 LUMEN 中的路由?

来自分类Dev

函数第二个参数作为条件传递?

来自分类Dev

TypeScript:如何根据第一个参数省略函数中的第二个参数

Related 相关文章

  1. 1

    将函数的第二个参数读入数组

  2. 2

    可以将第二个参数传递给Controller构造函数吗?

  3. 3

    模板参数和它自己的模板参数都包含名称相同的类型。如何在函数签名中引用第二个?

  4. 4

    如何在WPF的第二个屏幕中启动第二个应用程序?

  5. 5

    忽略函数的第二个参数

  6. 6

    如何在Scala咖喱函数中绑定第二个参数?

  7. 7

    如何在cli中访问倒数第二个命令的第二个参数?

  8. 8

    如何在log4j中记录第二个参数

  9. 9

    如何在ReactJS onSubmit函数调用中传递第二个参数

  10. 10

    如何在bash中的模式(逗号)之后替换第二个模式(点)

  11. 11

    如何在Javascript链函数中首先执行第二个函数?

  12. 12

    将第二个参数传递给函数

  13. 13

    向lapply函数添加第二个参数

  14. 14

    bash [第二个参数:找不到命令

  15. 15

    返回作为第二个参数传递的数组中第一个参数的索引的函数

  16. 16

    可以将第二个参数传递给Controller构造函数吗?

  17. 17

    当我在Bash函数中使用getopts时,为什么它在第二个调用中忽略参数?

  18. 18

    如何在bash中获取上一个命令的倒数第二个参数?

  19. 19

    如何在vc ++中将路径作为参数传递给第二个应用程序?

  20. 20

    bash getopts无法识别第二个参数

  21. 21

    将函数传递给Javascript中的函数会立即调用第二个函数

  22. 22

    如何在第二个构造函数中调用构造函数?

  23. 23

    C中的多参数函数,其中从不使用第二个参数

  24. 24

    函数OBJECT_ID的第二个参数

  25. 25

    如何在 Google V8 中传递 ObjectTemplate::New 的第二个参数?

  26. 26

    我如何在javascript中先调用函数然后调用第二个

  27. 27

    如何将第二个参数作为可选参数传递给 LUMEN 中的路由?

  28. 28

    函数第二个参数作为条件传递?

  29. 29

    TypeScript:如何根据第一个参数省略函数中的第二个参数

热门标签

归档