【问题标题】:execute bash script from shared folder in windows explorer从 Windows 资源管理器中的共享文件夹执行 bash 脚本
【发布时间】:2015-09-24 02:42:33
【问题描述】:

我有一个带有 Windows 和 Ubuntu linux 机器的网络。 linux机器有一个共享文件夹,允许windows机器看到这个文件夹中的文件。我想允许 Windows 用户执行共享文件夹中的 bash 脚本。 1. 这可能吗? 2. 如果是,我该如何实现?

【问题讨论】:

  • 在 Linux 或 Windows 机器上执行?
  • 我希望它在 Linux 机器上执行,而不是在 Windows 机器上。我只想从 Windows 机器触发执行。
  • 我已经发布了答案。希望对您有所帮助。

标签: linux windows bash execute


【解决方案1】:

出于安全原因,您无法通过共享文件夹执行脚本。如果您使用 NFS 或 Samba 等文件共享服务,则可能不允许这样做。

从 Windows 远程执行 bash 脚本的最简单方法是使用 PuTTY 的快捷方式,其中包含您的脚本在 Windows 计算机上的位置以及 Linux 机器的登录凭据。

以纯文本形式存储您的密码并不安全,因为任何可以物理访问计算机的人都可以轻松地找回您的密码。仅当您知道自己在做什么时才这样做。省略 -pw yourPassword 将要求您在每次运行脚本时输入密码。

您的快捷方式的目标将类似于以下内容:

C:\putty.exe user@192.168.0.200 -pw yourPassword -m "C:\path\to\test.bash"

其中 test.bash 是您的 bash 脚本。示例:

#!/usr/bin/env bash

touch itWorked

结果:

[root@pivos-m3 ~]# ll itWorked
-rwxr-xr-x    1 root     root           0 Sep 23 14:05 itWorked*

或者,您可以编写一个批处理文件脚本来通过 ssh 执行 bash 脚本,但 PuTTY 是一种更简单的方法。

【讨论】:

  • 但是我的 bash 脚本不在我的 windows 机器上。它在我的 linux 机器上。
  • 您可以编写一个简短的脚本来调用该脚本。 /bin/bash /path/to/script.
  • 我喜欢这个主意,但是当我尝试“无法打开命令文件”/bin/bash 时出现错误我的命令行如下所示...“C:\ putty.exe" user@192.168.150.150 -pw blahblah -m /bin/bash /path/to/script
  • 如果我从 -m 和之后删除所有内容,然后运行它,我会像希望的那样登录到 linux 机器。所以我能够接触到这台机器,并且命令行的第一部分是正确的。
  • 这是我的最终解决方案... "C:\putty.exe" user@192.168.150.150 -pw blahblah -m "C:\path\2\script" -t
【解决方案2】:

简答:不。Windows没有有 Bash。它有 Batch,它是 DOS 前 NT shell 脚本的遗物。

但是,您可能想对这个问题有所了解:Is there a way to run Bash scripts on Windows?,因为它包含您问题 2 的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    相关资源
    最近更新 更多