首先,我想告诉您我是Linux新手。我做了我的搜索,但我真的不知道我在寻找什么。
我需要的是制作一个简单的程序,在终端中一个接一个地执行不同的命令,因为我不想每次需要时手动运行它们。我怎么做到的?我想我不能只制作一个可以双击触发的可执行文件,或者我可以吗?
更新
当我发布这个问题时,我只是一个以某种方式设法安装基于Linux的操作系统的孩子。我不知道其他任何有Linux的人或CS的任何人。我没有人问过“愚蠢的问题”。我不知道如何表达自己。我一直在寻找一个shell脚本指南,但我发现的“linux编程”都是C,这远远超出了我的深度。
答案 0 :(得分:15)
您所指的简单程序通常称为“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命令的输出“ hello,我来自脚本文件”,然后是长格式的目录列表。
以下是bash tutorial和Bash Guide for Beginners的链接。
最后,有时您可以使用aliases将几个命令串在一起,但大多数人只是“别名”更短版本的常用命令,为命令创建缩写。
注意bash
的重新定位:
要找出bash
shell的位置,您始终可以键入which bash
,它将返回路径/目录,因此如果它不同,请将其放在顶部。例如,如果它显示/usr/bin/bash
,则您将#!/usr/bin/bash
替换为#!/bin/bash
作为脚本的第一行。
答案 1 :(得分:3)
尝试编写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的帖子了解更多详情。
答案 2 :(得分:1)
您要找的是一个脚本。最常见的类型是用bash编写的。一个不错的选择是在python中编写它们。
查看bash脚本示例以帮助您入门,或者查看http://www.diveintopython.net/以Python开头