2011-11-18 18 views
11

tengo este script:generar clases php en bash

#!/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"; 

si lo hago:

./generate.sh my_class crea todo con my_class. ¿Cómo puedo modificar esto a: MyClass?

necesito usar MyClass para el nombre de archivo, y el nombre de clase etc ... más adelante en el código utilizo el argumento (en este caso my_class) para otros fines.

gracias

+0

digamos 'MyClass' ./generate.sh. –

+0

... ... ... ¿por qué? – Joe

Respuesta

15

Si desea asegurarse de que se llama MiClase puede agregar esto en algún lugar después de que las validaciones:

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

Y utilizar $fname.class.php

0

Parece que ya está configurado para ello. Sólo hay que ejecutar ./generate.sh MyClass