shell之创建文件及内容的方法示例
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
显示结果为: