如何在Windows 10上创建和运行Bash Shell脚本

随着Windows 10 Bash Shell的到来,您现在可以在Windows 10上创建并运行Bash Shell脚本。您还可以将Bash命令合并到Windows批处理文件或PowerShell脚本中。

即使您知道自己在做什么,也不一定像看起来那样简单。 Windows和UNIX使用不同的行尾字符,并且Windows文件系统可在Bash环境中的其他位置访问。

如何在Windows 10上编写Bash脚本

有关的:如何在Windows 10上安装和使用Linux Bash Shell

在Windows上编写Shell脚本时,请记住,Windows和类似Linux的系统(如Linux)在Shell脚本的文本文件中使用不同的“行尾”字符。

换句话说,这意味着您不能简单地在记事本中编写Shell脚本。将文件保存在记事本中,Bash无法正确解释该文件。但是,您可以使用更高级的文本编辑器-例如,Notepad ++允许您通过单击编辑> EOL转换> UNIX / OSX格式来给文件提供UNIX行尾字符。

但是,最好还是在Bash环境本身中编写Shell脚本。基于Ubuntu的Bash环境随附vi和nano文本编辑器。 vi编辑器功能更强大,但如果您以前从未使用过它,则可能要从nano开始。如果您是新手,使用起来会更容易。

例如,要在nano中创建bash脚本,您可以在bash中运行以下命令:

纳米〜/ myscript.sh

这将打开Nano文本编辑器,该编辑器指向用户帐户主目录中名为“ myscript.sh”的文件。 (“〜”字符表示您的主目录,因此完整路径为/home/username/myscript.sh。)

从以下行开始您的shell脚本:

#!/ bin / bash

有关的:Shell脚本初学者指南:基础知识

输入要运行的命令,每个命令都单独一行。该脚本将依次运行每个命令。在一行之前添加“#”字符以将其视为“注释”,这可以帮助您和其他人理解脚本,但不能作为命令运行。有关更多高级技巧,请查阅有关Linux上Bash脚本的更详细指南。相同的技术将在Windows上的Ubuntu的Bash中工作。

请注意,无法在Bash环境中运行Windows程序。就像在典型的Linux系统上一样,您只能使用Linux终端命令和实用程序。

例如,在这里仅以一个基本的“ hello world”脚本为例:

#!/ bin / bash#设置STRING变量STRING =“ Hello World!” #在屏幕上显示变量的内容echo $ STRING

如果您使用的是Nano文本编辑器,则可以通过按Ctrl + O,然后按Enter来保存文件。通过按Ctrl + X关闭编辑器。

使脚本可执行,然后运行

您可能需要使脚本可执行,以便您可以更轻松地运行它。在Linux上,这意味着您需要授予脚本文件可执行权限。为此,请在终端中运行以下命令,将其指向您的脚本:

chmod + x〜/ myscript.sh

要运行脚本,您现在可以在终端中通过键入其路径来运行它。每当您以后想要启动脚本时,只需打开Bash shell并键入脚本的路径即可。

〜/ myscript.sh

(如果脚本位于当前目录中,则可以使用./myscript.sh运行它)

如何在Bash脚本中使用Windows文件

有关的:如何在Windows中访问您的Ubuntu Bash文件(以及在Bash中访问Windows系统驱动器)

要访问脚本中的Windows文件,您需要在/ mnt / c下指定其路径,而不是Windows路径。例如,如果您想指定C:\ Users \ Bob \ Downloads \ test.txt文件,则需要指定/mnt/c/Users/Bob/Downloads/test.txt路径。有关更多详细信息,请查阅我们的指南以了解Windows 10 Bash Shell中的文件位置。

如何将Bash命令合并到批处理或PowerShell脚本中

有关的:如何在Windows 10上设置默认Linux发行版

最后,如果您想将命令合并到现有的批处理文件或PowerShell脚本中,则可以使用以下命令直接运行Bash命令: bash -c 命令。

例如,要在命令提示符或PowerShell窗口中运行Linux命令,可以运行以下命令:

bash -c“命令”

此技巧使您可以将Bash命令添加到批处理文件或PowerShell脚本中。运行Bash命令时,将显示Bash Shell窗口。

更新:如果您安装了多个Linux环境,则可以使用wslconfig命令选择在运行Linux时使用的默认Linux环境。 bash -c 命令。

要在Windows中为Bash脚本创建快捷方式,只需像正常情况一样创建一个快捷方式。对于快捷方式的目标,请使用 bash -c 我们在上面概述的命令,并将其指向您创建的Bash脚本。

例如,您可以将快捷方式指向“ bash -c“〜/ myscript.sh” ”以运行上面的示例脚本。您也可以只在命令提示符或PowerShell窗口中运行此命令。


$config[zx-auto] not found$config[zx-overlay] not found