如何使用php文件创建/注册命令(无扩展名)



我想创建命令并在Linux/Mac/Windows上注册例如,我想使用$ ownco create project hello

但是ownc是这样的php脚本(ownco.phpownco):

<?php
if (count($argv) > 3) {
echo 'Hi';
} else {
echo 'Ups!';
}

我不想使用php ownco ...谢谢

在文件的第一行添加一个shebang,类似于:

#!/usr/bin/php

使文件可执行:

chmod +x ./ownco.php

现在,您可以在不指定解释器的情况下从命令行运行脚本:

% ./path/to/ownco.php
Ups!

但是,为了避免写入ownco.php的完整路径,您需要将其保存在$PATH变量中指定的目录中,这通常看起来像这样:

% echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl

您可以看到每个目录都由:分隔。您可以将脚本移动到其中一个目录,也可以向$PATH变量添加新目录。通常这是我在~/.bashrc:中添加一点代码完成的

export PATH="$PATH:/my/new/place/to/keep/executables"

有些人喜欢在他们的主目录中创建一个bin目录,并在那里保留小脚本。

% cat ~/.bashrc
...
...
export PATH="$PATH:$HOME/bin"
...
...

% cat > ~/bin/script1 <<EOL
#!/usr/bin/php
<?php
echo("my first scriptn");
?>
EOL
% chmod +x ~/bin/script1
% script1
my first script

注:

shebang可以在可执行文件的第一行中指定,并以#!开头。

我选择使用/usr/bin/php作为可执行文件。这是PHP的存储路径。

有些人喜欢使用/usr/bin/env php,它将运行$PATH变量中指定的PHP版本。查看更多

相关内容

  • 没有找到相关文章

最新更新