我开始进入Linux / UNIX,很多东西都使用终端,所以我想知道,我怎么能创建将要执行的命令行文本,就像在Windows' .BAT?
答案 0 :(得分:4)
是的,它被称为“shell脚本”(因为命令解释器被称为“shell”)。基本上是:
#!/bin/bash
。这告诉系统运行命令的shell。如果您愿意,可以使用与bash
不同的shell。.sh
结尾,类似于.bat
,但它是可选的。在Unix / Linux中,包括脚本在内的程序通常根本没有扩展名。chmod +x myscript
。$PATH
变量的目录中,否则您需要在运行时指定路径,例如: ./myscript
(假设它在当前目录中)而不仅仅是myscript
。您可能会发现在主目录下创建bin
目录很有用,并通过将此行添加到$HOME/bin
文件中,将$PATH
添加到.bashrc
:< / p>
PATH=$HOME/bin:$PATH
然后,您可以将脚本放在个人bin
目录中,只需输入命令名称(例如myscript
)即可从任何地方运行它们。
脚本开头的#!
行通常称为“shebang” - “sharp”(#
)和“bang”(!
)的缩写。它不仅限于shell脚本:用Python和Perl等解释型编程语言编写的程序使用相同的机制来运行python
和perl
解释器。
答案 1 :(得分:2)
首先,将您的脚本保存在文件中,例如script.sh
...
#!/bin/bash
echo "Hello world"
#!/bin/bash
部分被称为shebang。这意味着无论何时使用./script.sh
运行它,都会通过bash解释器运行,而不是尝试解释字节码。
然后运行以下命令:
chmod +x ./script.sh
有时您可能需要sudo
这个。然后你应该能够像这样运行它:
./script.sh
正如您所料,您可以在上面的文件中添加更多行,以便按顺序执行更多操作。最后,记住shell脚本是移动操作文件等的好方法,但并不总是大型编程项目的最佳选择。把它想象成&#34;胶水&#34;。
答案 2 :(得分:1)
你在谈论shell脚本。最常见的shell是bash。
Bash脚本与shell脚本非常相似。存在一些差异,但您应该稍后查看。现在,这是一个shell脚本的简单示例。
#!/bin/sh
echo Hello World!
将其输入到vi会话中,另存为hello.sh和chmod u+x ./hello.sh
以授予用户对脚本的执行权限。然后./hello.sh
和“Hello World!”会出现。
第一行是真正的技巧 - 它告诉shell使用什么解释器来运行文件的其余部分。在这种情况下,它是/ bin / sh,通常与/ usr / bin / bash链接。
所以它比.bat和.cmd文件更多一点,但它更通用,因为第一行几乎可以是任何东西。