#1 楼
您可以将文件标记为可执行文件:chmod +x filename.sh
然后可以像这样执行它:
./filename.sh
如果要使用其他命令来启动它,则可以添加别名:
gedit ~/.bashrc
在文件末尾添加此别名:
alias <new name>='/home/<full path to script>/filename.sh'
打开一个新的终端会话或在终端中键入
source ~/.bashrc
进行申请。然后只需使用新名称即可启动脚本。
评论
在以如下方式输入命令后,您知道如何使用sudo命令:“ alias command1 ='/home/user_name/dir/script.sh'。在我的系统中,它不使用sudo,但不能使用。
– Aditya
16-10-25在9:05
您需要在编辑.bashrc运行后重新启动bash:exec bash以重新启动bash。
– Sampath Perera
17年8月31日在10:09
为什么可执行文件是./filename.sh而不是filename.sh?
–user1993
17年3月3日在18:48
@ user1993是的,我也在寻找一种使其仅通过文件名而不是./filename可执行的方法。
– MycrofD
17年11月27日在14:02
@ user1993通常,使用./filename.sh指定当前目录中的文件,使用filename.sh指定当前目录或PATH任何目录中的文件。第一次使用消除了有关访问哪个文件的任何不确定性。在这种情况下,您仅通过输入文件名就尝试使用bash或其他解释器执行脚本(由于假定脚本中的第一行是#!/ bin / bash)。此用法要求指定目录。或者,您可以尝试使用bash filename.sh,该文件似乎可以用于未指定的目录。
–a505999
18-2-10在21:45
#2 楼
使文件可执行的方法有两种:GUI方法:
右键单击该文件,然后选择“属性”。
转到权限选项卡,然后在
Execute: [ ] Allow executing file as program
框或Nautilus Program: [ ] Allow this file to run as a program
中打勾Thunar。您可以使用:
cd /to/my/required/directory
然后运行
chmod +x filename.extension
或直接运行:
chmod +x /path/to/your/filename.extension
chmod
确实还有一些更高级的选项:空格用来表明它被分割了:
- rwx --- ---
---
的第一组是User。第二个是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
。然后将它们加在一起即可得到所需的组合。
因此,每个人都可以读取它,但只有组才能执行而用户编写它(但由于某种原因无法执行)将是:
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
从eve撤走所有权限ryone。
和:
chmod +300 /path/to/file.extension
在不影响任何其他权限(例如执行权限)的情况下为用户添加读写功能。
此网站上有一个非常有用的网格小复选框,您可以在其中勾选所需的选项,并为您提供以下命令: br />
但是,并非所有可能的组合都适合使用。使用的主要参数如下:
755-
Owner
拥有全部,并且Group
和Other
可以读取和执行700-
Owner
拥有全部644-
Owner
可以读取和写入,并且Group
和Other
可以读取600-
Owner
可以读取和写入并且,如果您使用的是普通用户组:
775-
Owner
可以读取和写入,而Group
和Other
可以读取和写入读取Group
可以读取并执行750-
Other
可以读取和执行Owner和
Group
可以读取和执行Owner
只能读取Other
可以读取和写入Group
可以读取777和666除了/ tmp以外很少使用。
感谢Ilmari Karonen指出了常用的内容!
评论
它不是基于八进制(8基)而不是二进制(基于2基)吗?在二进制中只能有0和1,而在八进制中只能有0、1 ... 6,7
– Justinas
18年1月2日在15:06
@Justinas二进制文件,其中7 = 4 + 2 + 1-111表示读取和写入以及执行。
– Tim
18年1月2日在15:08
我一直在寻找chmod +101样式权限修改。谢谢你
–JasonS
20年7月28日在20:12
#3 楼
运行: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
评论
与如何在Terminal中运行.sh文件有关?如何运行.sh文件的可能重复项?
它不是重复的,因为我曾特别询问过使其可以使用application / x-executable。另一个问题只是要求在终端中打开sh文件。