Ale*_*lex 422 command-line bash scripts execute-command
每当我打开一个 .sh 文件时,它都会在 gedit 而不是终端中打开它。我找不到任何类似于Right Click 的选项?打开方式?其他应用...?终端。
如何在终端中打开此文件?
kar*_*k87 645
为您的脚本授予执行权限:
chmod +x /path/to/yourscript.sh
Run Code Online (Sandbox Code Playgroud)
并运行您的脚本:
/path/to/yourscript.sh
Run Code Online (Sandbox Code Playgroud)
由于.是指当前目录:如果yourscript.sh在当前目录中,则可以将其简化为:
./yourscript.sh
Run Code Online (Sandbox Code Playgroud)
Isa*_*iah 102
您需要将 shell 脚本标记为可执行文件才能从文件管理器运行它们:
右键单击您的.sh文件并选择Properties:

在“权限”选项卡中,选中“允许将文件作为程序执行”:

关闭“属性”窗口并双击该文件。将弹出一个对话框,让您可以选择在终端中运行脚本:

小智 54
打开终端并导航到文件所在的.sh文件夹。然后输入:
sh <name of file>.sh
Run Code Online (Sandbox Code Playgroud)
Ale*_*huk 30
在运行 .sh 文件之前,您需要使其可执行:
确保您信任您获取文件的来源。它可能是一种病毒。
这有问题。终端将立即关闭,您将无法看到输出。
找到 .sh 文件的位置
ls和cd命令ls将列出当前文件夹中的文件和文件夹。试一试:输入“ls”并按 Enter。cd,后跟一个空格,后跟一个文件夹名称cd ..一级运行 .sh 文件
一旦你可以看到例如script1.sh与ls运行以下命令:
./script.sh
Run Code Online (Sandbox Code Playgroud)终端有一组丰富的强大工具,可通过键入命令访问。专业人员通过键入ls和 来定位 .sh 文件cd。进入正确的当前文件夹后,您可以像这样运行脚本:
./script1.sh
Run Code Online (Sandbox Code Playgroud)
或者您可以运行并将输出重定向到文件:
./script1.sh > out.txt
Run Code Online (Sandbox Code Playgroud)
或者您可以过滤关键字(例如“apples”)的输出,然后重定向到一个文件:
./script1.sh | grep apples > ./only-apples
Run Code Online (Sandbox Code Playgroud)
只需键入一些命令,您就可以对该文件进行数以千计的操作。
另一种是,您可以使用一个简单的命令从 Internet 下载文件:
wget www.google.com/images/logos/ps_logo2.png
Run Code Online (Sandbox Code Playgroud)
然后像这样打开文件:
shotwell ps_logo2.png
Run Code Online (Sandbox Code Playgroud)
小智 21
在 Ubuntu 13.04 上,在 Nautilus 中打开的可执行文件现在默认在 gedit 中打开,而不是提示用户执行它们。要启用经典行为,您需要调整首选项:
鹦鹉螺?编辑菜单 ? 喜好 ?行为选项卡?每次点击询问附近的单选按钮。
.sh使用cd.转到文件所在的目录。在这个例子中,我将我的sh文件存储为~/Desktop/shell_practice/test.sh
首先pwd弄清楚你在哪里,如果它返回/home/username(username你的真实用户名在哪里),你可以运行
cd Desktop/shell/practice
Run Code Online (Sandbox Code Playgroud)
如果您似乎在其他地方,则可以使用绝对路径
cd ~/Desktop/shell/practice
Run Code Online (Sandbox Code Playgroud)
或者
cd $HOME/Desktop/shell/practice
Run Code Online (Sandbox Code Playgroud)
甚至
cd /home/$USER/Desktop/shell/practice
Run Code Online (Sandbox Code Playgroud)
这些都是描述同一个地方的方式。到达脚本的位置后,键入
ls
Run Code Online (Sandbox Code Playgroud)
如果您可以sh在输出中看到该文件,则可以使用chmod它来使其可执行。就我而言,请记住,文件名是test.sh,所以我会运行
chmod u+x test.sh
Run Code Online (Sandbox Code Playgroud)
现在我们与脚本位于同一目录中,我们必须通过提供文件位置./(当前目录后跟路径分隔符,以将其与文件名区分开来)来向 shell 指定我们要执行该文件。要运行我的文件,我会输入:
./test.sh
Run Code Online (Sandbox Code Playgroud)
如果您的脚本编写正确,它将运行而不会出错...
对于Ubuntu 18.04,有一些修改,因为您没有弹出对话框。
所以你需要做的是:
右键单击文件,选择首选项 > 选择行为选项卡 > 在可执行文本文件下标记“询问做什么”选项。
现在,当您双击任何 .sh 文件时,您将看到一个弹出窗口,您可以在那里选择“在终端中运行”选项来运行您的 .sh 文件。
小智 6
有几种方法可以做到这一点。
在终端中,访问 Bash 文件正在使用的cd目录(更改目录)。
前任。 cd Downloads
跑 bash <filename>.sh
这也适用于 .run 文件。这个网页上有一个关于更新 Rhythmbox的例子。
在终端中,导航到 bash 文件所在的目录。
跑 chmod +x <filename>.sh
在 Nautilus 中,打开文件。
小智 5
2个主要步骤。
在终端中,使用 gedit 编写扩展名为“.sh”的脚本并将其保存到桌面。(但可以使用任何文本编辑器)
打开 Nautilus 并右键单击 script.sh 文件。
在属性下,复选框“允许执行文件..”
在 Nautilus 菜单中,单击文件,然后是首选项,然后是行为
勾选“打开时运行可执行文本文件”。
现在,当您双击桌面上的文件时,它应该会执行。不需要.或./
小智 5
右键单击该.sh文件并使其可执行。
打开终端 ( Ctrl++ Alt) T。
将.sh文件拖到终端窗口中并惊叹不已。