如何制作文件(例如.sh脚本)可执行文件,以便可以从终端运行

我有一个script.sh文件,这个文件的类型是shellscript文件。 我想将此文件作为application / x-executable文件。 我该怎么做?

你可以做到这一点

chmod +x filename.sh 

所以它会在你调用它时执行

 ./filename.sh 

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

打开终端并从主目录中键入如下内容。

 gedit .bashrc 

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

 alias ='./filename.sh' 

保存并关闭 。

然后在终端source ~/.bashrc键入此内容以应用您所做的更改。 然后只需输入别名后给出的名称即可访问您的脚本。

确保您已放入主目录。

其他

 alias ='./.sh' 

希望有所帮助。

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

GUI方法:

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

在此处输入图像描述

终端/命令方法:

你可以使用:

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。

因此,为了让每个人都能阅读它,但只有Group执行,而User才能读取和写入它(但由于某种原因不能执行)将是:

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

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

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

所以有这些数字:

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

用户写的是200 。 按组写的是020 。 别人写的是002

用户阅读量为400 。 按组读取是040 。 另读的是004

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

因此,为了让每个人都能阅读它,但只有Group执行而User才能编写它(但由于某种原因不能执行)将是:

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

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

这个网站有一个非常有用的小网格复选框,你可以勾选你想要的选项,它会给你命令:

在此处输入图像描述

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

755 – Owner拥有全部,而GroupOther可以阅读和执行

700 – Owner拥有所有

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

600 – Owner可以读写

而且,如果您使用的是非平凡的用户组:

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

770 – OwnerGroup拥有全部,而Other可以阅读和执行

750 – Owner拥有所有OwnerGroup可以读取和执行

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

660 – OwnerGroup可以读写

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

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

感谢Ilmari Karonen 指出常用的!

跑:

 chmod +x /path/to/file.sh 

要使其不可执行,请运行:

 chmod -x /path/to/file.sh 

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

 vi tester12.sh 

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

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