如何在windows10上创建和运行bashshell脚本

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

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

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

如何在windows10上编写bash脚本

相关:如何在windows10上安装和使用Linux Bash Shell

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

换句话说,这意味着您不能简单地在记事本中编写shell脚本。将文件保存在记事本中,Bash将无**确解释它。但是,您可以使用更高级的文本编辑器–例如,Notepad++允许您通过单击“编辑”>“EOL转换”>“UNIX/OSX格式”为文件指定UNIX行尾字符。

但是,最好只在Bash环境中编写shell脚本。基于Ubuntu的Bash环境附带了vi和nano文本编辑器。vi编辑器功能更强大,但是如果您以前从未使用过它,您可能需要从nano开始。如果你是新来的,它更容易使用。

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

nano ~/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 # set the STRING variable STRING="Hello World!" # print the contents of the variable on screen echo $STRING

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

使脚本可执行,然后运行它

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

chmod +x ~/myscript.sh

要运行脚本,现在只需在终端中键入其路径即可运行它。以后无论何时要启动脚本,只要打开bashshell并键入脚本的路径即可。

~/myscript.sh

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

如何在bash脚本中使用windows文件

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

要访问脚本中的Windows文件,需要在/mnt/c下指定它们的路径,而不是它们的Windows路径。例如,如果要指定C:\Users\Bob\Downloads\测试.txt文件,则需要指定/mnt/c/Users/Bob/Downloads/测试.txt路径。有关更多详细信息,请参阅我们的Windows10的bashshell文件位置指南。

如何将bash命令合并到批处理或powershell脚本中

相关:如何在Windows10上设置默认的Linux发行版

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

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

bash -c "command"

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

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


要在Windows中创建Bash脚本的快捷方式,只需像普通方式一样创建快捷方式。对于快捷方式的目标,使用上面概述的bash-c命令并将其指向您创建的bash脚本。

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

  • 发表于 2021-04-09 10:54
  • 阅读 ( 204 )
  • 分类:互联网

你可能感兴趣的文章

使用简单的shell脚本修复html格式

... 首先,让我们从定义“shell脚本”开始,即编写要在bashshell中运行的脚本。从技术上讲,Powershell等其他脚本语言也可以被称为“shell脚本”,但为什么首先要关注shell脚本,特别是Bash脚本呢? ...

  • 发布于 2021-03-13 00:12
  • 阅读 ( 234 )

什么是shell脚本,为什么要使用它

... 在本文中,我们将描述bashshell的shell脚本。 ...

  • 发布于 2021-03-13 04:53
  • 阅读 ( 246 )

如何在windows10上获得linux bash shell

... 两者都将显示为“Run命令”,可以选择该命令立即打开bashshell。使用这两种方法的区别在于,它们在/mnt/c/Windows/System32目录中打开。这意味着您可以在Windows10中浏览System32子目录。 ...

  • 发布于 2021-03-21 11:48
  • 阅读 ( 281 )

windows10的新bashshell所能做的一切

...Linux应用程序的完全兼容层。 我们已经介绍了windows10的新bashshell中可以做的很多事情,因此为了方便起见,我们将所有这些指南汇总到一个大列表中。 windows上linux入门 相关:如何在windows10上安装和使用Linux Bash Shell 您可以在...

  • 发布于 2021-04-06 14:44
  • 阅读 ( 261 )

如何在windows10的ubuntubashshell中更改用户帐户

...安装后启动新的Linux发行版来设置它时,系统会要求您为bashshell创建一个用户帐户。Windows将其称为“UNIX用户帐户”。因此,如果您提供名称“bob”和密码“letmein”,则Linux用户帐户的名称为“bob”,并且具有主文件夹“/home/bob...

  • 发布于 2021-04-06 15:47
  • 阅读 ( 181 )

如何在windows10上安装和使用linux bash shell

...dora和更多的Linux发行版很快就要上市了。 关于windows10的bashshell你需要知道什么 相关:Windows10新BashShell的所有功能 这不是一个虚拟机、一个容器或为Windows编译的Linux软件(比如Cygwin)。相反,windows10提供了一个完整的Windows子系...

  • 发布于 2021-04-06 16:32
  • 阅读 ( 242 )

如何在Windows10上设置默认的linux发行版

...命令: wslconfig /setdefault Ubuntu 相关:如何在windows10上从bashshell外部运行Linux命令 现在,当您运行wsl或bash命令时,您选择的Linux发行版将打开。 使用wsl命令或bash-c命令运行单个命令时,也会使用默认的Linux发行版。 如何运行多个...

  • 发布于 2021-04-06 16:40
  • 阅读 ( 195 )

如何将windows bash shell更新到ubuntu16.04

...版本。 如何检查你有哪个版本的ubuntu 相关:Windows10新BashShell的所有功能 如果您不确定当前Bash环境中使用的是哪个版本的Ubuntu,请打开Bash窗口并运行以下命令: l**_release -a 它会告诉你是运行ubuntu14.04还是ubuntu16.04。如果你正在...

  • 发布于 2021-04-07 18:47
  • 阅读 ( 188 )

如何在bash(又称linux和macos终端)中将命令的输出保存到文件中

...作符一样。 相关内容:Shell脚本初学者指南:基础知识 bashshell包含一些执行类似功能的附加高级操作符。如果您正在编写bash脚本,它们将特别有用。有关更多详细信息,请参阅《高级Bash脚本指南》中的I/O重定向一章。

  • 发布于 2021-04-08 03:46
  • 阅读 ( 171 )

bash、zsh和其他linux shell之间有什么区别?

默认情况下,大多数Linux发行版都包含bashshell,但是您也可以切换到另一个shell环境。Zsh是一个特别流行的替代品,还有其他的贝壳,比如ash、dash、fish和tcsh。但有什么区别,为什么会有这么多? 贝壳做什么? 在Linux上,当您...

  • 发布于 2021-04-08 06:16
  • 阅读 ( 264 )
tanyi57
tanyi57

0 篇文章

相关推荐