问题 在bash中生成php类


我有这个脚本:

  #!/bin/bash

  if [[ -z "$1" ]] ; then
      echo "Class is required"
      exit 1;
  fi

  if [[ -z "$2" ]] ; then
      package="Default"
  else
      package=$2;
  fi

  echo "<?php
  /**
   * $1.class.php
   * 
   * Vcard class file.
   * @name        Project
   * @author      Author
   * @link        http://www.domain.com
   * @copyright   Copyright  2011
   * @package     $package
   * @version     1.0
  */

  /**
   * The main $1 class
   * @package $package
  */
  class $1 {

      /**
       * Constructor setup.
       */
      public function __construct() {
      }

      /**
       * Destructor setup.
       */
      public function __destruct() {
      }
  }
  " > $1.class.php

  php -l $1.class.php
  echo "Done";

如果我做:

./generate.sh my_class它创建了一切 my_class。我怎样才能将其修改为:MyClass?

我需要使用MyClass作为文件名,类名等...稍后在代码中我使用参数(在本例中为my_class)用于其他目的。

谢谢


8306
2017-11-18 17:01


起源

说 ./generate.sh MyClass。 - Kerrek SB
...... ......为什么? - Joe


答案:


如果你想确保它被称为MyClass,你可以在验证后的某处添加它:

fname=$( IFS='_'; for i in ${1,,}; do echo -n ${i^}; done )

并使用 $fname.class.php


15
2017-11-18 17:24





它看起来已经为此设置了。只是执行 ./generate.sh MyClass


0
2017-11-18 17:03