当前位置 博文首页 > shell之创建文件及内容的方法示例

    shell之创建文件及内容的方法示例

    作者:谦逊的铅笔 时间:2021-02-03 15:19

    shell之创建文件夹:

    [root@vbox-nginx shell_command]# vi ./mkdir.sh 
    #!/bin/sh
    
    parentDir="/media/sf_Project/self/smarty-frame/application/$1"
    fileName=$2
    dirAndName=$parentDir/$fileName
    if [ ! -d "$dirAndName" ];then
    mkdir $dirAndName
    echo "创建文件夹成功"
    else
    echo "文件夹已经存在"
    fi
    [root@vbox-nginx shell_command]# cat ./mkdir.sh 
    #!/bin/sh
    
    parentDir="/media/sf_Project/self/smarty-frame/application/$1"
    fileName=$2
    dirAndName=$parentDir/$fileName
    if [ ! -d "$dirAndName" ];then
    mkdir $dirAndName
    echo "创建文件夹成功"
    else
    echo "文件夹已经存在"
    fi

    调用shell创建文件夹:

    [root@vbox-nginx shell_command]# ./mkdir.sh ApiLoveHouse Model    //上级文件夹 要创建的文件夹名
    创建文件夹成功
    

    shell之创建php文件:

    [root@vbox-nginx shell_command]# vi ./mkfile.sh 
    
    #!/bin/sh
    
    parentDir="/media/sf_Project/self/smarty-frame/application/$1"
    fileName=$2
    dirAndName="$parentDir/$fileName.php"
    string=${parentDir#*application}
    namespace=$(echo $string | sed 's#\/#\\#g')
    echo $string
    echo $namespace
    if [ ! -d "$parentDir" ];then
    echo "父级文件夹路径错误"
    else
    cd $parentDir
    
    if [ ! -f "$dirAndName" ];then
    
    touch $dirAndName
    echo "<?php" > $dirAndName
    
    if [[ $fileName == *$strCon* ]];then
    touch $dirAndName
    echo "<?php" > $dirAndName
    
    if [[ $fileName == *$strCon* ]];then
    echo "namespace App$namespace;" >> $dirAndName
    elif [[ $fileName == *$strMod* ]];then
    echo "namespace App\$namespace;" >> $dirAndName
    else 
    echo "当前只能创建controller和model文件"
    fi
    
    echo "" >> $dirAndName
    echo "class $fileName{" >> $dirAndName
    echo "     //" >> $dirAndName
    echo "}" >> $dirAndName
    echo "?>" >> $dirAndName
    echo "文件创建完成"
    else
    echo "文件已经存在"
    fi 
    fi
    fi

    #!/bin/sh
    
    parentDir=$1
    fileName=$2
    dirAndName="$parentDir/$fileName.php"
    if [ ! -d "$parentDir" ];then
    echo "父级文件夹路径错误"
    else
    cd $parentDir
    
    if [ ! -f "$dirAndName" ];then
    cat>$dirAndName<<EOF
    <?php
    namespace App;
    
    class $fileName{
        //
    }
    ?>
    EOF
    echo "文件创建完成"
    else
    echo "文件已经存在"
    fi
    
    fi

    调用shell创建文件:

    [root@vbox-nginx shell_command]# ./mkfile.sh ApiLoveHouse/Controllers WelcomeController    //上级文件夹 要创建的文件名
    文件创建完成
    

    shell 在已有文件中追加多行内容

    通过 cat>>文件<<EOF EOF 来实现文件追加多行内容


    执行

    cat >>/test/appendLine.conf<<EOF
    我是第二行
    我是第三行
    EOF

    显示结果为:

    js
    下一篇:没有了