如何制作文件(例如.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 + 004
和010
和200
这相当于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
拥有全部,而Group
和Other
可以阅读和执行
700 – Owner
拥有所有
644 – Owner
可以读写,而Group
和Other
可以读取
600 – Owner
可以读写
而且,如果您使用的是非平凡的用户组:
775 – Owner
可以读写,而Group
和Other
可以读取
770 – Owner
和Group
拥有全部,而Other
可以阅读和执行
750 – Owner
拥有所有Owner
, Group
可以读取和执行
664 – Owner
和Group
可以读写,而Other
只能阅读
660 – Owner
和Group
可以读写
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