问题描述
每当我打开一个.sh文件时,它会在gedit而不是终端中打开它。我无法找到类似于右键点击→打开方式→其他应用程序…→终端的选项。
如何在终端中打开此文件?
最佳解决办法
为您的脚本授予执行权限:
chmod +x /path/to/yourscript.sh
并运行你的脚本:
/path/to/yourscript.sh
由于.
引用当前目录:如果yourscript.sh
位于当前目录中,可以将其简化为:
./yourscript.sh
次佳解决办法
您需要将shell脚本标记为可执行文件以从文件管理器运行它们:
-
右键单击您的
.sh
文件并选择属性: -
在权限选项卡中,选中允许执行文件作为程序:
-
关闭属性窗口和double-click文件。会弹出一个对话框,让您选择在终端中运行脚本:
第三种解决办法
条件
在运行.sh文件之前,您需要使其可执行:
-
Right-click文件上
-
选择属性
-
选择权限
-
选择允许执行文件作为程序
警告
确保你信任你从哪里获得文件的来源。它可能是病毒。
非常简单的方法
-
Double-click文件上
-
点击终端中的运行
这有问题。终端将立即关闭,您将无法看到输出。
简单的方法
-
打开应用程序 – >配件 – >终奌站
-
将.sh文件拖放到终端中,然后按Enter键
专业人士这样做的方式
-
打开应用程序 – >配件 – >终奌站
-
找到.sh文件的位置
-
使用
ls
和cd
命令 -
ls
将列出当前文件夹中的文件和文件夹。试一试:输入”ls”,然后按Enter键。 -
一旦看到要进入的文件夹,运行
cd
,后跟一个空格,后跟一个文件夹名称 -
如果您进入不想要的文件夹,请运行
cd ..
以升级一级
-
-
运行.sh文件
-
一旦你看到例如
script1.sh
与ls
运行此:./script.sh
-
为什么这是复杂的方式?
终端拥有丰富的功能强大的工具,可通过键入命令进行访问。专业人员通过键入ls
和cd
来找到.sh文件。一旦你在正确的当前文件夹中,你可以像这样运行脚本:
./script1.sh
或者你可以运行并将输出重定向到一个文件:
./script1.sh > out.txt
或者您可以过滤关键字的输出(例如”apples”),然后重定向到文件:
./script1.sh | grep apples > ./only-apples
只需输入一些命令,就可以访问该文件的数千条信息。
另一个,你可以用一个简单的命令从互联网下载一个文件:
wget www.google.com/images/logos/ps_logo2.png
然后像这样打开文件:
shotwell ps_logo2.png
第四种办法
打开终端并导航到.sh
文件所在的文件夹。然后键入:
sh <name of file>.sh
第五种办法
在Nautilus中打开的Ubuntu 13.04可执行文件现在默认在gedit中打开,而不是提示用户执行它们。要启用传统行为,您需要调整首选项:
nautilus →编辑菜单→首选项→行为标签→每次点击Ask旁边的单选按钮。
第六种办法
2个主要步骤。
-
在终端中,使用gedit将带有”.sh”扩展名的脚本写入并保存到桌面。 (但可以使用任何文本编辑器)
-
打开Nautilus并右键单击script.sh文件。
-
在属性下,复选框“允许执行文件..”
-
在Nautilus菜单中,单击文件,然后选择偏好,然后选择行为
-
检查“打开时运行可执行文本文件”。
-
现在,当您双击桌面上的文件时,它应该执行。不需要.
或./
第七种办法
在Ubuntu 16.04中,这是如何在终端中打开它:
对于Executable Text Files
转到File Manager > Edit > Preferences > Behavior
并选择Ask each time
。
问题在于它默认设置为View Executable Files when they are opened
。
第八种办法
有几种方法可以做到这一点。
选项1
-
在终端中,使用
cd
(更改目录)访问Bash文件所在的目录。防爆。cd Downloads
-
运行
bash <filename>.sh
这也适用于.run文件。有一个这种用法at this webpage on updating Rhythmbox.的例子
选项2
-
在终端中,导航到bash文件所在的目录。
-
运行
chmod +x <filename>.sh
-
在Nautilus中,打开文件。