我myname.command
在 OSX 10.8 上有一些应用程序的脚本。它有 Bash 脚本,带有签名 (she-bang)。
文件中还可以包含哪些其他脚本格式*.command
?可能是 AppleScript 或其他脚本格式?
答案1
在unix/linux
世界上(据我所知,mac 正在运行一个unix
变体),你不需要任何程序文件扩展名,但最好为bash
脚本提供扩展名.sh
,为 python 脚本提供扩展名.py
,为 perl 提供扩展名.pl
(等等),以便人们无需查看脚本检查 she-bang 行即可识别这些脚本。(我不知道 mac 是否有特定的扩展名)
重要的部分是可执行标志chmod +x ./myscript.sh
,它将文件标记为可执行的程序。
该she-bang
行是文件中的第一行,以 开头,#!
后跟指向可执行文件的完整路径/usr/bin/bash
, /usr/bin/perl
, /usr/bin/python
。
python
在某些 Unix/Linux 安装中,可能bash
或 任何程序都不位于 中/usr/bin/
,而是位于 中/opt/python3.6
,因此 she-bang#! /usr/bin/python
不会启动该程序。因此,基本上,另一种好的做法是使用 来启动 she-bang 行,#!/usr/bin/env
然后是要启动的程序,即#!/usr/bin/env bash
或#!/usr/bin/env python3
。
这将查看环境变量(小路) 对于给定的程序。