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

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

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

如何在Windows 10上编写Bash脚本

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

换句话说,这意味着你不能简单地在记事本中写一个shell脚本。 将文件保存在记事本中,它不会被Bash正确解释。 但是,您可以使用更先进的文本编辑器,例如, 记事本++允许您通过单击编辑> EOL转换> UNIX / OSX格式给一个文件结束UNIX行字符。

但是,你最好只是在Bash环境中编写shell脚本。 基于Ubuntu的Bash环境带有两个VI纳米文本编辑器。 vi编辑器更强大,但如果你从来没有使用它,你可能想从nano开始。 如果你是新的,它更容易使用。

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

  nano〜/ myscript.sh 

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

使用以下行启动shell脚本:

  #!/ bin / bash 

输入要运行的命令,每个命令都在其自己的行上。 脚本将依次运行每个命令。 在一行之前添加一个“#”字符,将其视为“注释”,这有助于您和其他人了解脚本,但不会作为命令运行。 对于更高级的技巧,请咨询更详细的指导,在Linux上的bash脚本 相同的技术将在Windows上的Ubuntu上工作。

注意,没有办法从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文件,您需要在/ mnt / c下指定它们的路径,而不是它们的Windows路径。 例如,如果要指定C:\ Users \ Bob \ Downloads \ test.txt文件,则需要指定/mnt/c/Users/Bob/Downloads/test.txt路径。 请咨询我们的指南文件在Windows 10的Bash shell中的位置的更多细节。

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

最后,如果你有一个现有的批处理文件或PowerShell脚本要合并到的命令,你可以运行命令Bash直接使用bash -c命令。

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

  bash -c“命令” 

这个技巧允许你添加Bash命令到批处理文件或PowerShell脚本。 当Bash命令运行时,Bash shell窗口将出现。


要从Windows中创建Bash脚本的快捷方式,只需创建一个正常的快捷方式。 对于快捷方式的目标,使用bash -c我们上文所述的命令,并在您创建的Bash脚本指向它。

例如,你会在“点了快捷bash -c "~/myscript.sh"运行上面的示例脚本。 您也可以从命令提示符或PowerShell窗口运行此命令。

赞 (0)
分享到:更多 ()