如何在终端中执行bash脚本?

时间:2010-02-01 15:49:42

标签: bash terminal

我有一个bash脚本,如:

#!/bin/bash

echo Hello world!

如何在终端中执行此操作?

9 个答案:

答案 0 :(得分:90)

执行它的另一种方法(这次没有设置执行权限):

bash /path/to/scriptname

答案 1 :(得分:36)

$prompt: /path/to/script然后按Enter键。请注意,您需要确保脚本具有执行权限。

答案 2 :(得分:27)

你可以这样做:
sh scriptname.sh

答案 3 :(得分:23)

cd到包含该脚本的目录,或将其放在$ PATH

中的bin文件夹中

然后输入

./scriptname.sh

如果在同一目录或

scriptname.sh

如果它在bin文件夹中。

答案 4 :(得分:9)

使用 cd 命令将目录更改为脚本所在的位置

然后输入

bash program-name.sh

答案 5 :(得分:9)

首先,您必须使用for data in dict_datas: user = User.object.filter(user_id = data['user_id']).exists() if user: user.__dict__.update(**dict_data) user.save() 使其可执行。

使其成为可执行文件后,您可以使用MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), mUi(new Ui::MainWindow) { mUi->setupUi(this); this->setFixedSize(this->width(), this->height()); StyleUi(); auto closeAct = new QAction(this); closeAct->setShortcut(QKeySequence("Ctrl+O")); connect(closeAct, SIGNAL(activated()), this, SLOT(close())); closeAct->setShortcutContext(Qt::ApplicationShortcut); addAction(closeAct); }

运行它

答案 6 :(得分:2)

这是一个旧线程,但是我碰巧遇到了它,我很惊讶没有人提供完整的答案。所以这里...

执行命令行脚本教程!

问::如何在终端中执行此操作?

混乱和冲突:

  • 不需要不需要“扩展名”(例如.sh或.py或其他任何东西),但是它有助于跟踪情况。不会疼的但是,如果脚本名称包含扩展名,则必须使用它。
  • 您根本不需要出于任何原因而完全不在任何特定目录中。
  • 除非您愿意,否则不需要输入运行文件的程序的名称(BASH或Python或其他)。不会疼的
  • 不需要执行sudo操作。该命令保留用于以其他用户或“ root”(管理员)用户身份运行命令。很棒的帖子here

(正在学习如何执行脚本的人不应该使用此命令,除非有真正的需要,例如安装新程序。放置脚本的好位置是〜/ bin文件夹中。您可以通过在终端提示符下键入cd ~/bincd $HOME/bin到达那里。您将在该文件夹中拥有完全权限。)

  

要从Unix / Linux类型系统上的终端“执行此脚本”,您必须做三件事:

  1. 告诉系统脚本的位置。 (选择一个)

    • 输入具有脚本名称的完整路径(例如/path/to/script.sh)。您可以通过在终端中输入pwdecho $PWD来验证完整路径。
    • 从同一目录执行,并将./用作路径(例如./script.sh)。容易。
    • 将脚本放置在系统PATH上的目录中,然后键入名称(例如script.sh)。如果需要更整洁的列表,可以通过键入PATHecho $PATH来验证系统echo -e ${PATH//:/\\n}
  2. 告诉系统脚本有权执行。 (选择一个)

    • 在终端中输入chmod +x /path/to/script.sh来设置“执行位”。
    • 如果您喜欢数字,也可以使用chmod 755 /path/to/script.sh。讨论很棒,图表很here
  3. 告诉系统脚本的类型。 (选择一个)

    • 在脚本之前键入程序的名称。 (例如BASH /path/to/script.shPHP /path/to/script.php)如果脚本具有扩展名,例如.php或.py,则它是脚本名称的一部分,您必须包含它。
    • 使用 shebang ,在您的示例中,您看到的是(#!/bin/bash。如果您将其作为脚本的第一行,则系统将使用该程序执行脚本。无需键入程序或使用扩展名。
    • 使用“便携式” shebang 。您还可以让系统选择PATH中最先出现的程序版本,方法是使用#!/usr/bin/env,然后输入程序名称(例如#!/usr/bin/env bash#!/usr/bin/env python3)。有{@ 3}进行了全面讨论的利弊。

答案 7 :(得分:1)

还有另一种方法

. /path/to/script

What is the meaning of the dot?

答案 8 :(得分:-1)

如果位于脚本文件可用的目录或文件夹中,则只需使用“ chmod + x your_filename”以可执行方式更改文件许可权即可。之后,您将使用以下命令运行脚本。 “ $ sudo ./your_filename.sh” 上方的“。”代表当前目录。 注意!      如果您不在bash脚本文件所在的目录中,则可以使用“ cd Directory_name / write the complete path”命令来更改该文件所在的目录。否则,你的脚本不能运行。