2011-11-18 35 views
11

tôi có kịch bản này:tạo ra các lớp php trong 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"; 

nếu tôi làm:

./generate.sh my_class nó tạo ra tất cả mọi thứ với my_class. làm thế nào tôi có thể sửa đổi này để: MyClass?

tôi cần sử dụng MyClass cho tên tệp và tên lớp, v.v ... sau trong mã tôi sử dụng đối số (trong trường hợp này là my_class) cho một số mục đích khác.

cảm ơn

+0

Say 'MyClass' ./generate.sh. –

+0

... ... ... tại sao? – Joe

Trả lời

15

Nếu bạn muốn đảm bảo nó được gọi là MyClass bạn có thể thêm một nơi nào đó sau khi kiểm chứng thực:

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

Và sử dụng $fname.class.php

0

Có vẻ như nó đã được thiết lập cho điều đó. Chỉ cần thực hiện ./generate.sh MyClass

Các vấn đề liên quan