我知道它,忘记它,重新学习它。是时候写下来了。
当前回答
如果你想让脚本在当前shell中运行(例如,你想让它能够影响你的目录或环境),你应该说:
. /path/to/script.sh
or
source /path/to/script.sh
例如,注意/path/to/script.sh可以是相对的。Bin /script.sh运行当前目录下Bin目录下的script.sh。
其他回答
要启动shell脚本'file.sh':
sh file.sh
bash file.sh
另一个选项是使用chmod命令设置可执行权限:
chmod +x file.sh
现在运行.sh文件,如下所示:
./file.sh
文件扩展名.命令被分配给Terminal.app。双击任何.command文件将执行它。
添加一点,在同一个文件夹中运行解释器,仍然使用#!脚本中的Hashbang。
例如,从/usr/bin复制的php7.2可执行文件位于一个文件夹中,该文件夹中有一个hello脚本。
#!./php7.2
<?php
echo "Hello!";
运行它:
./hello
它们的行为是一样的:
./php7.2 hello
具有良好文档的适当解决方案可以是linuxdeploy和/或appimage工具,这是在底层使用这种方法。
对于伯恩壳:
sh myscript.sh
bash的:
bash myscript.sh
首先,给予执行许可:- Chmod +x script_name
如果脚本不可执行:- 运行sh脚本文件:- sh script_name 运行bash脚本文件:- bash script_name 如果脚本可执行:- 。/ script_name
注意:你可以使用'ls -a'来检查文件是否可执行。
推荐文章
- 安装tzdata非交互式
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 在Bash中检查变量是否存在于列表中
- 查看PS命令的全部输出
- 确保一次只运行一个shell脚本实例的快速方法
- 如何在Windows命令提示符下运行.sh ?
- “你有邮件”的消息在终端,os X
- 如何从命令行将每两行合并为一行?
- 如何复制在bash所有目录和文件递归?
- Linux命令将域名转换为IP
- 如何从命令行通过mysql运行一个查询?
- 在创建守护进程时执行双fork的原因是什么?
- Mac OS X中的环境变量
- 如何从命令行在windows中找到mysql数据目录