从 windows 资源管理器中的共享文件夹执行 bash 脚本

execute bash script from shared folder in windows explorer

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

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

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

据我所知,出于安全原因,您不能通过共享文件夹执行脚本。如果您使用 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 是一种更简单的方法。