我有一个script.sh 此文件的文件和类型是shellscript文件。 我想将此文件作为application/x-executable文件。 我怎样才能做到呢?
您可以将文件标记为可执行文件:
chmod +x filename.sh
然后可以这样执行:
./filename.sh
如果你想使用不同的命令来启动它,你可以添加一个别名:
gedit ~/.bashrc
在文件末尾添加这个:
alias <new name>='/home/<full path to script>/filename.sh'
打开新的终端会话或类型 source ~/.bashrc
在你的终端申请。然后只需使用新名称即可启动脚本。
有两种方法可以使文件可执行:
GUI方法:
右键单击该文件并选择属性。转到权限选项卡,然后勾选框 Execute: [ ] Allow executing file as program
或在鹦鹉螺 Program: [ ] Allow this file to run as a program
在图纳尔。
终端/命令方法:
您可以使用:
cd /to/my/required/directory
然后运行
chmod +x filename.extension
或者只是跑:
chmod +x /path/to/your/filename.extension
chmod
也有一些更高级的选项:
空格是为了显示它是分开的: - rwx --- ---
第一套 ---
是用户。 第二个是组,最后一个是其他(任何其他人)
r代表读,w代表写,x代表执行。
因此,要让每个人都读它,但只有组执行和用户读取和写入它(但由于某种原因不执行)将是:
-rw- rx- r--
但这将被添加到命令中:
chmod +rw-rx-r-- /path/to/file.extension
chmod
也可以在数字上做到这一点。 它是基于二进制(我认为,因为它是1,2和4)
所以有这些数字:
由用户执行是 100
.按组执行是 010
.由其他is执行 001
.
由用户写入是 200
.按组写是 020
.其他人写的是 002
.
由用户读取是 400
.按组阅读是 040
.其他人阅读的是 004
.
然后将这些添加在一起以获得所需的组合。
所以要让每个人都读它,但只有组执行和用户写它(但由于某种原因不执行)将是:
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
拥有一切, Group
可以读取和执行
664 - Owner
和 Group
可以读写,并且 Other
只会阅读
660 - Owner
和 Group
可以读写
640 - Owner
可以读写,并且 Group
可以阅读
777和666很少使用,除了in/tmp。
跑:
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
让所有用户运行您的脚本
如上所述,您可以设置文件的执行位以使其可执行 chmod +x
. 但你也可以使用 chmod a+x
:
$ ll file_command.txt-rw-rw-r-- 1 rick rick 17 Sep 19 08:55 file_command.txt$ chmod a+x file_command.txt$ ll file_command.txt-rwxrwxr-x 1 rick rick 17 Sep 19 08:55 file_command.txt*
注意事项:
- 脚本不必以
.sh
它可以结束在.txt
如图所示,或者没有任何扩展。 - 而不仅仅是
+x
(只有你可以执行脚本),使用a+x
所以所有用户都可以执行脚本。 - 文件名有一个
*
附加到它以指示它是可执行的。 此外,文件名在大多数系统上将颜色更改为绿色。
运行脚本而不使其可执行
您仍然可以运行bash脚本而不使其可执行。 例如:
$ echo "echo Hello World" > file_command.txt$ cat file_command.txtecho Hello World$ bash file_command.txtHello World
注意事项:
- 首先我们创建一个包含
echo Hello World
. - 然后我们确认调用的脚本
file_command.txt
是正确的。 - 最后,我们通过调用来运行脚本
bash
并传递脚本名称。 该bash
命令实际上存储为/bin/bash
它是所有Ubuntu系统上的可执行文件。 - 创建一个命令文件可以节省您添加 谢邦
#!/bin/bash
作为脚本中的第一行。 - 创建一个命令文件可以节省您使其可执行
chmod +x
或chmod a+x
.
它不是重复的,因为我已经特别询问了如何使它成为应用程序/x-可执行文件。 另一个问题只是要求在终端中打开sh文件。