当前位置: 首页 > news >正文

做网站智能工具公司网站备案

做网站智能工具,公司网站备案,网站上传的工具,广州建设执业注册中心网站文章目录 在Shell脚本中通过ssh从脚本运行函数declare -f 和typset -f#xff0c;这两个命令有什么区别declare -f 和typset -f#xff0c;这两个命令可以通过ssh运行脚本中的函数吗如果我有main.sh和util.sh#xff0c;并且在main.sh中引用了util.sh#xff0c;该怎么办这两个命令有什么区别declare -f 和typset -f这两个命令可以通过ssh运行脚本中的函数吗如果我有main.sh和util.sh并且在main.sh中引用了util.sh该怎么办 我应该如何通过ssh执行main.sh而不将utils.sh复制到远程计算机 在Shell脚本中通过ssh从脚本运行函数 是否有任何聪明的方法可以通过ssh在远程主机上运行本地Bash功能 例如 #!/bin/bash #Definition of the function f () { ls -l; }#I want to use the function locally f#Execution of the function on the remote machine. ssh userhost f#Reuse of the same function on another machine. ssh userhost2 f以上操作时行不通的我知道这行不通但是有办法实现吗 以下是相关解决方法 可以使用typeset命令通过ssh使功能在远程计算机上可用。有多个选项具体取决于您要如何运行远程脚本。 #!/bin/bash # Define your function myfn () { ls -l; }要在远程主机上使用该功能 typeset -f myfn | ssh userhost$(cat); myfn typeset -f myfn | ssh userhost2$(cat); myfn更好写法如下为什么还要麻烦管道 ssh userhost$(typeset -f myfn); myfn或者您可以使用HEREDOC ssh userhost EOF$(typeset -f myfn)myfn EOF如果要发送脚本中定义的所有函数而不仅仅是myfn只需使用typeset -f如下所示 ssh userhost$(typeset -f); myfn说明 typeset -f myfn将显示myfn的定义。 cat将以文本形式接收该函数的定义而$()将在当前shell中执行它而该shell将成为远程shell中的已定义函数。最后该功能可以执行。 最后的代码将在ssh执行之前将函数的定义内联。 相关讨论如下 最好使用typeset -f f并且只跨发送一个函数的定义 HenkLangeveld-取决于是否有f()调用所需的函数。 在我的假设中函数f()可能需要其他函数。 否则您的建议将是最好的。 如何将一些参数传递给此函数 使用任何命令的方式相同。 如果函数是f()则可以传递f param1 param2 ...之类的参数。 在f()内部您将把参数引用为$1, $2, ... $n。 优秀的 对于Bash我使用declare -f而不是typeset -f。 谢谢。 当我使用它说 COMMAND NOT FOUND(未找到命令)之类的函数时是否定义了该函数 alvits很好。 但是如果我有main.sh和util.sh并且在main.sh中引用了util.sh该怎么办 我应该如何通过ssh执行main.sh而不将utils.sh复制到远程计算机 使用declare -f或typset -f时得到syntax error near unexpected token ; 我个人不知道您问题的正确答案但是我有很多安装脚本只是使用ssh复制自身。 让命令复制文件加载文件功能运行文件功能然后删除文件。 ssh userhostscp userotherhost:/myFile ; . myFile ; f ; rm Myfile这个方法就是相当于ssh登录远程主机后向远程主机发送myFile脚本然后执行脚本执行脚本中的f函数执行完毕后rm删除myFile脚本。 另一种方式 #!/bin/bash # Definition of the function foo () { ls -l; }# Use the function locally foo# Execution of the function on the remote machine. ssh userhost$(declare -f foo);foossh userhost$(declare -f foo);foo这个命令是一个使用 SSH 远程调用函数的例子。下面是解释 ssh 是远程登录协议允许用户在不同计算机之间进行安全的远程登录和执行命令。 userhost 是你要连接的远程主机的用户名和 IP 地址或域名。 $(declare -f foo) 是将本地函数 foo 的定义转换为字符串并传递到远程主机上执行的命令。这样可以确保在远程主机上也有 foo 函数的定义。 ; foo 在声明完函数后立即调用了函数 foo。 以下是示例代码 假设你在本地机器上定义了一个名为 hello_world 的函数并且你希望在远程主机 example.com 上执行该函数。你可以使用以下命令 ssh userexample.com $(declare -f hello_world); hello_world当你执行这个命令时它会将本地的 hello_world 函数定义作为字符串传输到远程主机并在远程主机上执行该函数。如果一切正常你应该看到输出结果 Hello, World! declare -f 和typset -f这两个命令有什么区别 declare -f 和 type -f 都是用来查看函数定义的命令 但是它们具有不同的作用和输出形式 declare -f function_name declare -f 命令用于显示指定函数的定义包括函数名、参数和函数体。如果没有指定函数名称则显示所有已定义的函数。 示例代码 # 定义函数 function hello() {echo Hello, world! }# 使用 declare -f 输出函数定义 declare -f hello# 输出结果为 # hello () # { # echo Hello, world! # }# 不传递函数名称显示所有已定义的函数 declare -f type -f function_name type -f 命令用于显示指定函数的位置即函数所在文件的路径。 示例代码 # 定义函数 function hello() {echo Hello, world! }# 使用 type -f 输出函数位置 type -f hello# 输出结果为hello is a function # hello () # { # echo Hello, world! # }# 如果该函数在 bash 脚本中也可以使用 type 来查看文件位置 type -f my_script.sh 因此declare -f 和 type -f 的区别在于前者用于显示函数定义后者用于显示函数位置。 declare -f 和typset -f这两个命令可以通过ssh运行脚本中的函数吗 在Shell脚本中可以使用ssh命令从本地机器远程登录到另一台远程机器并在远程机器上执行命令或运行脚本。如果想要在远程机器上运行脚本中的函数可以通过ssh命令来实现。 在使用ssh命令远程执行命令或脚本时默认情况下不会传输环境变量或函数定义等内容。因此为了能够在远程机器上运行脚本中的函数需要将函数定义先传输到远程机器上然后再调用这些函数。declare -f和typset -f命令可以分别用于显示和导出当前Shell环境中的函数定义。 例如假设在本地机器上有一个脚本test.sh其中包含一个名为my_function的函数。现在我们想要在远程机器上运行这个函数。我们可以使用以下命令 $ ssh remote_host $(declare -f my_function); my_function该命令将首先使用declare -f my_function显示my_function函数的定义然后将其作为参数传递给ssh命令。在远程主机上该命令将首先定义my_function函数然后调用它以执行相应的操作。 类似地也可以使用typset -f命令来显示并导出当前Shell环境中的函数定义。例如 $ ssh remote_host $(typset -f my_function); my_function 需要注意的是如果函数依赖于某些环境变量或命令则需要在远程机器上设置这些环境变量或安装相应的命令才能正常运行。 如果我有main.sh和util.sh并且在main.sh中引用了util.sh该怎么办 我应该如何通过ssh执行main.sh而不将utils.sh复制到远程计算机 要在远程计算机上执行main.sh并引用本地计算机上的util.sh您可以使用SSH远程执行命令来完成此操作。具体步骤如下 在本地计算机上将util.sh压缩为tar.gz文件例如 tar -czf util.tar.gz util.sh使用scp命令将util.tar.gz文件复制到远程计算机上例如 scp util.tar.gz remoteuserremotehost:/tmp/其中remoteuser是远程计算机上的用户名remotehost是远程计算机的地址/tmp/是目标文件夹。 在远程计算机上通过ssh连接到该计算机并切换到main.sh所在的目录。 解压缩util.tar.gz文件并在main.sh中引用util.sh文件。例如 tar -xzf /tmp/util.tar.gz -C /tmp/ source /tmp/util.sh# 继续main.sh中的其他命令执行main.sh脚本。 ./main.sh执行完main.sh后可以删除已解压的util.sh文件和tar.gz文件。 rm /tmp/util.sh /tmp/util.tar.gz这样就可以在不将util.sh复制到远程计算机的情况下成功运行main.sh并引用util.sh文件了。
http://www.w-s-a.com/news/821219/

相关文章:

  • 淘宝不能发布网站源码做商品怀化网站制作建设
  • 买空间哪个网站好做我的世界背景图的网站
  • 南京哪里做网站wordpress 增加子目录
  • 刚做的网站搜全名查不到网站很难被百度收录
  • 网站建设与管理期末做网站买空间用共享ip
  • 网络合同怎么签有效南京seo公司哪家
  • 厦门建设网官方网站上海网络网站建
  • 网站制作西安郑州网站建设动态
  • 外贸网站免费推广温州做网站技术员
  • 武冈 网站建设做网站能收回吗
  • 网站做前端把网站扒下来以后怎么做
  • 网站模板素材下载手机做任务佣金的网站
  • 机关网站建设考核测评总结做网站sqlserver排序
  • 凉山州建设厅官方网站html5下载教程
  • 内网网站建设方面政策id97网站怎么做的
  • 福州企业建站系统七米网站建设
  • 长春seo建站北京做机床的公司网站
  • 网站维护具体做啥如何开发wap网站
  • 公司网站设计费计入什么科目潍坊公司网站制作
  • 拖拽式网站开发模具钢东莞网站建设
  • 彩票娱乐网站建设模块化网站开发
  • 孝感网站设计用自己的名字设计头像
  • 高明网站建设哪家好深圳vi设计公司全力设计
  • 工程技术cpu游戏优化加速软件
  • 一起做网店网站入驻收费wordpress 自定义评论样式
  • 深圳高端网站建设公司排名app软件开发sh365
  • 泰州网站整站优化惠州做网站多少钱
  • 做博客网站的php代码一建论坛建工教育网
  • 邢台网站制作费用单页营销网站后台
  • 红色网站建设的比较好的高校用vs2010做购物网站