当前位置: 首页>>技术教程>>正文


如何使文件(例如.sh脚本)可执行,因此可以从终端运行

, ,

问题描述

我有一个script.sh文件,这个文件的类型是shellscript文件。我想将这个文件作为应用程序/x-executable文件。我怎么做到的?

最佳解决方法

好吧,你可以通过做

chmod +x filename.sh

所以它会在您打电话时执行

./filename.sh

您也可以作为应用程序访问该脚本。

打开您的终端并从您的主目录中键入如下所示。

gedit .bashrc

然后在打开的文件中,在最后一行输入。

alias <Name_with which you wanna call it >='./filename.sh'

保存并关闭 。

然后在终端source ~/.bashrc中输入以应用您所做的更改。那么只需输入别名后给予的名称即可访问您的脚本。

确保您已放置在主目录中。

其他

alias <Name_with which you wanna call it >='./<path to your script >.sh'

希望有所帮助。

次佳解决方法

有两种使文件可执行的方法:

GUI方法:

转到权限选项卡,然后勾选“执行:[]”允许执行文件作为程序。

command-line,executable,ubuntu

终端/命令方法:

您可以使用:

cd /to/my/required/directory

然后运行

chmod +x filename.extension

或者只是运行:

chmod +x /path/to/your/filename.extension

chmod也有一些更高级的选项:

这些空格表明它是分开的:- rwx --- ---

第一套---是用户。第二个是Group,最后是Other(其他人)

r表示Read,w表示Write,x表示eXecute。

因此,为了让每个人都可以阅读它,但只有组执行和用户读取和写入(但由于某种原因不执行)将是:

-rw- rx- r--但是这会被添加到命令中:

chmod +rw-rx-r-- /path/to/file.extension

chmod也可以在数量上做到这一点。它基于二进制(我认为,因为它是1,2和4)

所以有这些数字:

用户执行100。按组执行是010。由其他执行是001

用户写入的是200。按组写020。其他人写的是002

用户读取的是400。按组读取的是040。其他人阅读是004

然后您将这些添加到一起以获得所需的组合。

因此,为了让每个人都能阅读它,但只有组执行和用户编写它(但出于某种原因不执行)将是:

400 + 040 + 004010200

这加起来高达600 + 050 + 004 = 654。

然后您可以运行该命令。

chmod +654 /path/to/file.extension设置它。

并设置您可以键入的所有权限:

chmod +rwxrwxrwx /path/to/file.extension

或者(写起来容易一点,但很难记住每一个):

chmod +777 /path/to/file.extension

最后,你可以这样做:

chmod -777 /path/to/file.extension

将所有权限从每个人都带走。

和:

chmod +300 /path/to/file.extension

为用户添加读取和写入,而不影响任何其他权限(例如,执行权限)。

This website有一个非常有用的小网格复选框的东西,你可以勾选你想要的选项,它给你的命令:

command-line,executable,ubuntu

但是,并非所有可能的组合都合理使用;主要使用的是以下内容:

755 – Owner拥有全部,并且GroupOther可以读取和执行

700 – Owner拥有全部

644 – Owner可以读写,而GroupOther可以读

600 – Owner可以读写

而且,如果您使用non-trivial用户组:

775 – Owner可以读取和写入,而GroupOther可以读取

770 – OwnerGroup都有,而Other可以读取和执行

750 – Owner拥有全部,并且Group可以读取和执行

664 – OwnerGroup可以读写,而Other可以只读

660 – OwnerGroup可以读写

640 – Owner可以读写,而Group可以读

除了/tmp之外,很少使用777和666。

感谢Ilmari Karonen pointing out的常用用法!

第三种解决方法

跑:

chmod +x /path/to/file.sh

要使其成为un-executable,请运行:

chmod -x /path/to/file.sh

例如,我创建了.sh文件:

vi tester12.sh

在vi编辑器上编写一些代码后,我将从vi编辑器中退出:

:wq!
chmod +x tester12.sh
./tester12.sh

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/288.html,未经允许,请勿转载。