![有没有办法制作一个文件,当你单击它时它会运行终端命令?](https://linux22.com/image/1094960/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%88%B6%E4%BD%9C%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%EF%BC%8C%E5%BD%93%E4%BD%A0%E5%8D%95%E5%87%BB%E5%AE%83%E6%97%B6%E5%AE%83%E4%BC%9A%E8%BF%90%E8%A1%8C%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%EF%BC%9F.png)
有没有办法创建一个文件,单击它时会运行终端命令?类似于 Windows 中的 .bat 扩展名?
答案1
打开文本编辑器,输入以下行:#! /bin/bash
。留一个空行并开始输入命令。保存文件,扩展名无关紧要。
转到文件管理器中的文件,右键单击它,打开属性对话框,转到对话框中的权限选项卡,选中“允许执行此文件”,然后单击关闭按钮。现在您可以双击该文件并选择在终端窗口中运行它。
答案2
在 Linux 中,这些被称为脚本,或者更准确地说是 shell 脚本。
Linux 并不关心文件的扩展名,它将查看文件的权限来确定文件是否设置为可执行文件,如果是的话,它将运行它。
你可以用任何喜欢的文本编辑器创建脚本,只需打开一个并开始编写脚本,你可以使用任何你想要的 shell 解释器作为通常使用的解释器bash
和sh
。
#!/bin/bash
通常,您通过声明要使用的命令解释器(对于 bash 和对于 sh )来启动脚本#!/bin/sh
。完成此操作后,您可以开始在脚本行中键入命令,就像在 Windows 上使用批处理脚本一样。
编辑完成后,保存文件并使其可执行。
您可以打开终端并输入chmod 755 foo
(foo
您的脚本名称在哪里),或者右键单击刚刚创建的文件,然后在权限选项卡上单击使文件可执行。
完成后,您可以双击该文件,文件管理器会尝试运行它或询问您是否要运行它。或者,您也可以在终端中调用脚本,将目录更改为脚本所在的位置,然后使用 调用它./foo
。
学习 Linux shell 脚本的一个好起点是LinuxCommand.org,他们会教你所需要的内容、如何去做,并且在脚本中提供了很多很好的示例供你参考。
答案3
如果它是一个简单的单行命令,您可以创建一个.desktop
文件,例如一个简单的复制命令(以最简单的形式):
[Desktop Entry]
Name=Simple Copy
Exec=/bin/bash -c 'cp <source> <destination>'
Type=Application
将命令放在引号之间,用.desktop
扩展名保存文件,使其可执行,然后双击运行它。
您可以使.desktop
文件更复杂,添加选项,关键字,设置图标等。
请参阅此链接。