精华内容
下载资源
问答
  • Windows上从Python执行bash脚本
    2021-01-14 05:27:21

    我正在尝试编写一个python脚本,它将在我的Windows机器上执行bash脚本。到目前为止,我一直在使用Cygwin终端,因此执行bash脚本RunModels.scr就像./RunModels.scr一样简单。现在我希望能够利用Python的subprocess,但是由于Windows没有处理bash的内置功能,我不知道该怎么做。

    我试图模拟./RunModels.scr < validationInput > validationOutput

    我最初写的是:os.chdir(atm)

    vin = open("validationInput", 'r')

    vout = open("validationOutput", 'w')

    subprocess.call(['./RunModels.scr'], stdin=vin, stdout=vout, shell=True)

    vin.close()

    vout.close()

    os.chdir(home)

    但在花了一段时间试图弄清楚为什么我的访问被拒绝后,我意识到我的问题不是文件权限,而是我试图在Windows上执行bash文件。有人能解释一下如何使用python脚本在windows上执行带有定向输入/输出的bash脚本吗?

    编辑(后续问题):

    感谢您的回复,我需要到我的bash.exe的完整路径作为第一个参数。但是,现在RunModels.scr中的命令行调用在python输出中返回为command not found。例如,ls,cp,make。对此有什么建议吗?

    随访2:

    我更新了我的电话:

    subprocess.call(['C:\\cygwin64\\bin\\bash.exe', '-l', 'RunModels.scr'], stdin=vin, stdout=vout, cwd='C:\\path\\dir_where_RunModels\\')

    我现在得到的错误是/usr/bin/bash: RunModels.scr: No such file or directory。

    使用cwd似乎对这个错误没有任何影响,无论是哪种情况,子进程都在/usr/bin/bash中查找RunModels.scr。

    自我回答

    我需要在调用中指定RunModels.scr的路径,并使用cwd。

    subprocess.call(['C:\\cygwin64\\bin\\bash.exe', '-l', 'C:\\path\\dir_where_RunModels\\RunModels.scr'], stdin=vin, stdout=vout, cwd='C:\\path\\dir_where_RunModels\\')

    但是另一个问题。。。

    不管指定cwd,由RunModels.scr执行的命令都会抛出错误,就好像RunModels.scr在错误的目录中一样。脚本执行,但是cp和cd抛出错误no such file or directory。如果我通过命令行导航到RunModels.scr所在的位置,并以传统的方式执行它,我就不会得到这些错误。

    更多相关内容
  • windows执行bash脚本

    2022-03-22 19:10:01
    Windows执行shell脚本 1、 安装Git 2、 查看Git环境变量 右击电脑-属性-高级-高级系统设置 已设置环境变量 3、 打开Git bash 定位到sh文件所在目录,直接使用bash 或sh 来执行bash shell脚本

    Windows执行shell脚本
    1、 安装Git
    在这里插入图片描述
    2、 查看Git环境变量
    右击电脑-属性-高级-高级系统设置
    在这里插入图片描述
    已设置环境变量
    在这里插入图片描述
    在这里插入图片描述
    3、 打开Git bash
    定位到sh文件所在目录,直接使用bash 或sh 来执行bash shell脚本:
    在这里插入图片描述

    展开全文
  • shell bash脚本With the arrival of Windows 10’s Bash shell, you can now create and run Bash shell scripts on Windows 10. You can also incorporate Bash commands into a Windows batch file or PowerShell ...
    shell bash脚本

    shell bash脚本

    With the arrival of Windows 10’s Bash shell, you can now create and run Bash shell scripts on Windows 10. You can also incorporate Bash commands into a Windows batch file or PowerShell script.

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

    Even if you know what you’re doing, this isn’t necessarily as simple as it seems. Windows and UNIX use different end-of-line characters, and the Windows file system is accessible in a different location in the Bash environment.

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

    如何在Windows 10上编写Bash脚本 (How to Write a Bash Script on Windows 10)

    When writing shell scripts on Windows, bear in mind that Windows and UNIX-like systems like Linux use different “end of line” characters in text files in shell scripts.

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

    In other words, this means that you can’t simply write a shell script in Notepad. Save the file in Notepad and it won’t be interpreted properly by Bash. However, you can use more advanced text editors–for example, Notepad++ allows you to give a file UNIX end-of-line characters by clicking Edit > EOL Conversion > UNIX/OSX Format.

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

    However, you’re better off just writing the shell script in the Bash environment itself. The Ubuntu-based Bash environment comes with both the vi and nano text editors. The vi editor is more powerful, but if you’ve never used it before, you may want to start with nano. It’s easier to use if you’re new.

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

    For example, to create a bash script in nano, you’d run the following command in bash:

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

    nano ~/myscript.sh
    

    This would open the Nano text editor pointed at a file named “myscript.sh” in your user account’s home directory. (The “~” character represents your home directory, so the full path is /home/username/myscript.sh.)

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

    Start your shell script with the line:

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

    #!/bin/bash
    

    Enter the commands you want to run, each one on its own line. The script will run each command in turn. Add a “#” character before a line to treat it as a “comment”, something which helps you and other people understand the script but which isn’t run as a command. For more advanced tricks, consult a more detailed guide to Bash scripts on Linux. The same techniques will work in Bash on Ubuntu on Windows.

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

    Note that there’s no way to run Windows programs from within the Bash environment. You’re restricted to Linux terminal commands and utilities, just as you would be on a typical Linux system.

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

    For example, let’s just use a basic “hello world” script as an example here:

    例如,我们在这里仅使用一个基本的“ hello world”脚本作为示例:

    #!/bin/bash
    # set the STRING variable
    STRING="Hello World!"
    # print the contents of the variable on screen
    echo $STRING
    

    If you’re using the Nano text editor, you can save the file by pressing Ctrl+O and then Enter. Close the editor by pressing Ctrl+X.

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

    使脚本可执行,然后运行 (Make the Script Executable and then Run It)

    You’ll probably want the make the script executable so you can run it more easily. On Linux, that means you need to give the script file the executable permission. To do so, run the following command in the terminal, pointing it at your script:

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

    chmod +x ~/myscript.sh
    

    To run the script, you can now just run it in the terminal by typing its path. Whenever you want to launch the script in the future, just open the Bash shell and type the path to the script.

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

    ~/myscript.sh
    

    (If the script is in the current directory, you can run it with ./myscript.sh)

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

    如何在Bash脚本中使用Windows文件 (How to Work With Windows Files in a Bash Script)

    To access Windows files in the script, you’ll need to specify their path under /mnt/c, not their Windows path. For example, if you wanted to specify the C:\Users\Bob\Downloads\test.txt file, you’d need to specify the /mnt/c/Users/Bob/Downloads/test.txt path. Consult our guide to file locations in Windows 10’s Bash shell for more details.

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

    如何将Bash命令合并到批处理或PowerShell脚本中 (How to Incorporate Bash Commands into a Batch or PowerShell Script)

    Lastly, if you have an existing batch file or PowerShell script you want to incorporate commands into, you can run Bash commands directly using the bash -c command.

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

    For example, to run a Linux command in a Command Prompt or PowerShell window, you can run the following command:

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

    bash -c "command"
    

    This trick allows you to add Bash commands into batch files or PowerShell scripts. The Bash shell window will appear when a Bash command is running.

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

    Update: If you have multiple Linux environments installed, you can use the wslconfig command to choose the default Linux environment used when you run the bash -c command.

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



    To create a shortcut to a Bash script from within Windows, just create a shortcut like normal. For the shortcut’s target, use the bash -c command we outlined above and point it at the Bash script you created.

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

    For example, you’d point a shortcut at ” bash -c "~/myscript.sh" ” to run the example script above. You can also just run this command from a Command Prompt or PowerShell window, too.

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

    翻译自: https://www.howtogeek.com/261591/how-to-create-and-run-bash-shell-scripts-on-windows-10/

    shell bash脚本

    展开全文
  • 怎样在window下运行linux bash shell脚本

    千次阅读 2020-11-17 22:48:42
    怎样在window下运行linux bash shell

    对于运行于linux上面的bash shell脚本,我们有时为了方便想在Windows上运行一下看看结果。比如手边只有Windows的工作电脑,要想运行linux的bash脚本怎么办?

    别着急,有一个非常方便的办法。我们常用的windows下的git bash工具就能帮你办到,你只需要下载git的win版本 下载链接。windows下git的版本下载如下图,
    在这里插入图片描述
    在你安装好git win版本的APP之后。在win运行的窗口进行搜索。你就会发现一个叫 “Git Bash”的应用。到此,它就是你要找的在windows上面运行linux bash shell脚本的窗口了。

    在这里插入图片描述
    如下图所示。在当前目录下运行 ./test.sh, bash shell可以在这个窗口正常运行。就像你在linux下的终端运行bash shell一样。

    在这里插入图片描述
    至此,你就可以在windowns上运行linux bash shell的脚本来进行简单的效果验证了。

    展开全文
  • 如何在Windows运行bash

    万次阅读 2016-04-12 08:45:02
    为了运行bash,首先要进行几步操作。首先,需要获得Windows10的build 14316。安装内测版本之后,用户需要切换到开发者模式,从设置&gt;更新(Settings &gt; Updates),安全&gt;开发者(Security &...
  • 运行 1.安装 git 2. 右键git bash 3. bash xx.sh {} {} {}… 其中{}为参数 规则 #! /bin/bash # employ bash shell起始语句 player1=xiaoming # define a player1 player2=ken echo "Game start! $player1 $player2...
  • windows运行shell脚本需要提前安装好Git,教程参考 配置python环境 例如,我需要使用的是anaconda配置的名为pytorch的虚拟环境,进入git bash,在任意目录下输入source activate pytorch ,这里的pytorch是虚拟...
  • anaonda环境中如何使用bash命令,提示: 'sh' 不是内部或外部命令,也不是可运行的程序或批处理文件。 解决办法: 在anaconda中执行以下...他自动安装的依赖包还挺多的,安装完毕后,再运行bash命令没问题了。 ...
  • 随着Windows 10的到来您还可以将Bash命令合并到Windows批处理文件或...如何在Windows上编写一个Bash脚本10当在Windows上编写shell脚本时,请记住像Windows这样的Windows和类UNIX系统使用不同的换句话说,这意...
  • windows 10 bash里编写脚本

    千次阅读 2017-11-07 23:20:00
    windows 10 bash里编写脚本 参照:https://www.howtoip.com/how-to-create-and-run-bash-shell-scripts-on-windows-10/ 例子由自己在windows pro build 15063 linux 子系统里测试完成 如何win 10 bash 上编写脚本 ...
  • bash脚本运行时报$’\r’: command not found错误,经过查找,原来是windows和Linux的换行符不同(windows是\r\n,而Linux是\n)导致的,找了好久答案: 有说装dos2unix的,失败原因是找不到软件源,最终放弃. 有的说vim的...
  • Bash脚本教程之循环

    千次阅读 多人点赞 2020-07-07 10:04:15
    Bash 提供三种循环语法for、while和until。 while 循环 while循环有一个判断条件,只要符合条件,就不断循环执行指定的语句。 while condition; do commands done 上面代码中,只要满足条件condition,就会...
  • python调用bash shell脚本

    千次阅读 2021-12-28 23:03:02
    python调用shell命令和脚本
  • 在终端cd上到包含Windows iso的目录,然后运行git clone https://github.com/Broly1/Windusb.git;mv Windusb/windusb.sh .;rm -rf Windusb;./windusb.sh 或将脚本下载并粘贴到与Windows iso相同的目录中 插入USB...
  • 如果你正在课程中正在学习shell脚本,那么需要使用Linux命令来练习...你的作业需要运行 Linux 命令,你或许想知道如何在 Windows运行 Bash 命令和脚本。 你可以在双启动模式下同时安装 Windows 和 Linux。此方法...
  • Windows下写了一个shell脚本,上传到Linux下执行时报错: 代码如下:[root@localhost test]# ./test.sh -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory test.sh源码: 代码如下:#!...
  • Bash实际上可以在任何地方运行:在Unix / Linux , MacOS和Windows (WSL)上,它可用于各种“现代”软件(Docker,部署/构建脚本,CI / CD),并且有机会拥有丰富的Bash。从未使用过bash开发人员职业几乎为零。 ...
  • bash 获取脚本存放路径Bash script may need to get its own path. In normal Bash script, $0 is the path to the script. However, when a script is sourced, such as . a.sh, a.sh‘s $0 does not give a.sh ...
  • (11条消息) Windows10下安装Git_勿忘初心的博客-CSDN博客_windows安装git 安装好git后,可按照如下步骤执行shell脚本. 1.进入sh脚本所在得文件夹 2.右键点击空白处,选择 Git Bash Here 3.即可执行脚本命令 ...
  • 直接上图片吧,下图是文件“QC1.sh”中的一部分内容($bit_10是): 运行后报错
  • bash脚本添加头注释In Bash script, it is common that multiple small commands run together connected by pipes (|) and the whole command is quite long. For clarity, we may write the command in multiple ...
  • 了解您如何使用终端并编写第一个Bash脚本。 本工作坊基于bash手册,因此,如果您想了解更多示例,。 要求 该工作坊需要Bash环境。 如果您是Windows用户,请使用 。 另外,如果您使用的是Windows,请确保使用的Node...
  • 挑战在于它需要是可以在Windows PowerShell和bash / shell上运行的SAME脚本.这是shell脚本:#!/bin/bash# download a scriptwget http://www.example.org/my.script -O my.script# set a couple of env...
  • windows 上面 git bash 执行 shell脚本

    千次阅读 2020-12-04 08:53:04
    打开对应得文件夹 右键选择 Git Bash Here 然后直接执行shell脚本即可
  • windows运行.sh,运行shell脚本

    千次阅读 2020-05-28 21:37:48
    因为疫情的缘故,现在手边只有windows笔记本一台,却想运行sh make.sh!很绝望…搜了半天,我来记录一下。 只要下载个Git就能实现!Git下载,根据需要自行下载。 要记录好下载路径,进入Git文件夹: 然后打开Git...
  • 4_terminal_windows_at_startup 在Ubuntu中启动4终端窗口的脚本。 您可以将其添加到启动中,以便在操作系统启动时触发脚本。 该脚本必须适合您的屏幕分辨率。 说明视频: ...
  • Windows下VSCode运行Bash终端

    万次阅读 热门讨论 2018-01-23 23:51:35
    可能Windows开发的一个缺点就是与shell结合的不好,Git Bash提供了一种方式可以在Windows下执行Linux命令,如何将其结合在VSCode中使用呢? 参考回答:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,907
精华内容 25,162
关键字:

windows运行bash脚本