2

首先,我想让您知道我是 Linux 新手。我进行了搜索,但我真的不知道我在寻找什么。

我需要做一个简单的程序,在终端中一个接一个地执行不同的命令,因为我不想每次需要时都手动运行它们。我该怎么做?我想我不能只制作一个双击触发的可执行文件,或者我可以吗?

更新:
当我发布这个问题时,我只是一个设法安装基于 Linux 的操作系统的孩子。我不认识其他任何拥有 Linux 或 CS 的人。我没有人问“愚蠢的问题”。我不知道如何表达自己。我一直在寻找一个 shell 脚本指南,但我找到的“linux 编程”只是 C,这超出了我的深度。

4

3 回答 3

18

您所指的简单程序通常称为“ shell脚本”。本质上,您只需在一个文件中收集一些您想要的命令,然后执行它们。您还可以对更复杂的脚本进行某种流控制(循环、if-else 语句等)。

要构建一个简单的bash shell 脚本,我们称之为它myscript.sh,按照以下步骤操作:

在“myscript.sh”源文件的第一行放置(见下面的注释

#!/bin/bash

然后是您的命令,例如用于演示目的

echo "hello, I'm coming from the script file"
ls -l

保存文件。

要使这个文件“可执行”类型

$ chmod +x myscript.sh

然后你应该能够从命令行运行这个文件

$ ./myscript.sh

您会看到 echo 命令的输出“你好,我来自脚本文件”,然后是长格式的目录列表。

以下是bash 教程Bash 初学者指南的链接。

最后,有时您可以使用aliases将几个命令串在一起,尽管大多数人只是“别名”较短版本的常用命令,为命令创建缩写。

注意重新定位bash

要找出你的bashshell 在哪里,你总是可以输入which bash,它会返回一个路径/目录,所以如果它不同,就把它放在顶部。例如,如果它说/usr/bin/bash您将把#!/usr/bin/bash它放在#!/bin/bash脚本的第一行。

于 2012-07-16T22:26:53.857 回答
4

尝试编写一个 shell 脚本:

#!/bin/bash

command1
command2 | grep 'something' | pager
foo | perl -ne 'print'

另存为something.sh.

用 . 将其标记为可执行文件chmod +x something.sh

然后cd到它所在的目录并运行./something.sh.

是否可以双击启动脚本取决于您的配置,但由于大多数脚本创建文本输出,这通常没有意义。使用.desktop文件创建单个 (!) 命令(或您的桌面环境 (gnome/kde/xfce) 支持的任何文件类型)的快捷方式。

如果您的需求超出了一些简单的 bash,请查看脚本语言,例如面向对象的 Python 或经典的 *nix 管理语言 Perl。

查看@Levon 的帖子了解更多详情。

于 2012-07-16T22:27:32.737 回答
1

您正在寻找的是一个脚本。最常见的类型是用 bash 编写的。一个不错的选择是用 python 编写它们。

查看 bash 脚本示例以帮助您入门,或查看http://www.diveintopython.net/以开始使用 Python

于 2012-07-16T22:25:17.763 回答