每当我打开.sh文件时,它都会在gedit中而不是在终端中打开它。我找不到类似于“ 右键单击” →“ 打开方式” →“ 其他应用程序...” →“ 终端”的任何选项。
如何在终端中打开此文件?
ruby foo.rb
每当我打开.sh文件时,它都会在gedit中而不是在终端中打开它。我找不到类似于“ 右键单击” →“ 打开方式” →“ 其他应用程序...” →“ 终端”的任何选项。
如何在终端中打开此文件?
ruby foo.rb
Answers:
授予脚本执行权限:
chmod +x /path/to/yourscript.sh
并运行您的脚本:
/path/to/yourscript.sh
因为.
是指当前目录:如果yourscript.sh
在当前目录中,则可以简化为:
./yourscript.sh
bash /path/to/yourscript.sh
则不需要chmod +x
. /path/to/yourscript.sh
如果脚本必须设置一些环境变量,则可以使用。
./path/to/yourscript.sh
在后面没有空格.
)?我发现一个是最简单,最容易使用的...但是无论如何,这是我的替代品,它应该几乎与之相同./
,尽管我不明白您为什么不使用它./
:(FILENAME=~/rem4space.sh;SLL=$(cat $FILENAME|head -1|sed 's:^#!\(.*\):\1:g');[ ! -z $SLL ] && exec $SLL $FILENAME;sh $FILENAME)
... FILENAME
根据自己的喜好进行编辑。另请注意,sh
如果没有其他选择,将使用该选项。
您需要将Shell脚本标记为可执行文件,以从文件管理器中运行它们:
右键单击.sh
文件,然后选择“ 属性”:
在“ 权限”选项卡中,选中“ 允许将文件作为程序执行”:
关闭“ 属性”窗口,然后双击文件。将弹出一个对话框,为您提供在终端中运行脚本的选项:
打开终端,然后导航到文件所在的.sh
文件夹。然后输入:
sh <name of file>.sh
在运行.sh文件之前,您需要将其设置为可执行文件:
确保您信任从中获取文件的源。可能是病毒。
这有问题。终端将立即关闭,您将无法看到输出。
找到.sh文件的位置
ls
和cd
命令ls
将列出当前文件夹中的文件和文件夹。试试看:键入“ ls”,然后按Enter。cd
,然后输入空格,然后输入文件夹名称cd ..
去一个级别了运行.sh文件
一旦你可以看到例如script1.sh
与ls
运行以下命令:
./script.sh
该终端具有一组功能强大的工具,可通过键入命令来访问它们。专业人士通过键入ls
和查找.sh文件cd
。进入正确的当前文件夹后,您可以运行以下脚本:
./script1.sh
或者,您可以运行并将输出重定向到文件:
./script1.sh > out.txt
或者,您可以过滤关键字(例如“苹果”)的输出,然后重定向到文件:
./script1.sh | grep apples > ./only-apples
只需输入一些命令,您就可以对该文件执行成千上万的操作。
另外一个,您可以使用一个简单的命令从Internet下载文件:
wget www.google.com/images/logos/ps_logo2.png
然后像这样打开文件:
shotwell ps_logo2.png
在Ubuntu 13.04上,Nautilus中打开的可执行文件现在默认情况下在gedit中打开,而不是提示用户执行它们。要启用经典行为,您需要调整首选项:
Nautilus→编辑菜单→首选项→行为选项卡→每次单击询问附近的单选按钮。
.sh
通过使用转到文件所在的目录cd
。在此示例中,我将sh
文件存储为~/Desktop/shell_practice/test.sh
首先pwd
确定您的位置,然后返回/home/username
(username
真实用户名在哪里),则可以运行
cd Desktop/shell/practice
如果您似乎在其他地方,则可以使用绝对路径
cd ~/Desktop/shell/practice
要么
cd $HOME/Desktop/shell/practice
甚至
cd /home/$USER/Desktop/shell/practice
这些都是描述同一地点的方式。定位到脚本位置后,输入
ls
如果您可以sh
在输出中看到该文件,则可以chmod
使它可执行。就我而言,请记住文件名是test.sh
,所以我将运行
chmod u+x test.sh
现在,我们与脚本位于同一目录中,我们必须通过提供文件的位置./
(当前目录后跟路径分隔符,以将其与文件名区分开)来指定要执行该文件的外壳程序。要运行我的文件,请输入:
./test.sh
如果您的脚本编写正确,它将正确运行。
右键单击该.sh
文件,使其可执行。
打开一个终端(Ctrl+ Alt+ T)。
将.sh
文件拖到终端窗口中,敬请期待。
有几种方法可以做到这一点。
在终端中,使用Bash文件所在的目录cd
(更改目录)。
例如 cd Downloads
跑 bash <filename>.sh
这也适用于.run文件。此网页上有一个有关更新Rhythmbox的用法示例。
在终端中,导航到bash文件所在的目录。
跑 chmod +x <filename>.sh
在Nautilus中,打开文件。
对于Ubuntu 18.04,做了一些修改,因为您没有弹出对话框。
因此,您需要做的是:
右键单击“文件”,选择“可执行文件”下的“首选项”>“选择行为”选项卡>“标记要做什么”选项。
现在,当您双击任何.sh文件时,将弹出一个窗口,您可以在其中选择“在终端中运行”选项来运行.sh文件。
我在一些发行版中发现的问题是它们在Nautilus中隐藏了preferences选项,但是使用Gnome3在Ubuntu和其他发行版中对其进行修复是相同的(实际上只是完成了Fedora版本,并发布了实际的修复提醒我)将来如何)。
安装 dconf-editor
sudo apt-get install dconf-editor
dconf-editor
使用您要使用的用户帐户运行,即不是root用户
dconf-editor
导航到以下架构:
org.gnome.nautilus.preferences
将默认选项更改为默认情况下不打开:
找到executable-text-activation
点击的单词display
并更改为ask
这样您就可以选择编辑,查看或运行文件
我是Linux的菜鸟,但我遇到了同样的问题。如果其他所有方法均失败:
您也可以.
在其他答案的建议下使用技巧。
例如:
chmod +x filename.sh
,假设您已经转到文件的路径,然后使用以下任一命令运行文件:
sh filename.sh
./filename.sh
. filename.sh