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]# ca 在Linux系统中,Shell脚本是一种强大的自动化工具,可以用来执行一系列命令,包括创建文件、目录等操作。本文将详细讲解如何使用Shell脚本来创建文件和文件夹,并演示相关示例。 我们来看如何创建文件夹。在提供的示例中,`mkdir.sh` 是一个用于创建指定目录的Shell脚本。脚本开始时定义了两个变量: 1. `parentDir` 存储了文件夹的上级目录路径,这里使用了环境变量 `$1` 来接收运行脚本时传入的第一个参数,这通常代表命令行中的第一个参数。 2. `fileName` 保存了要创建的文件夹名称,它同样是从命令行参数中获取的第二个参数。 接着,脚本检查 `$dirAndName`(即`parentDir`与`fileName`的组合)是否已存在。如果不存在,则使用`mkdir`命令创建新的目录,并输出“创建文件夹成功”。否则,提示“文件夹已经存在”。 ```bash #!/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 ``` 接下来,我们讨论如何创建PHP文件。`mkfile.sh` 脚本不仅创建文件,还根据文件名自动添加PHP代码。这个脚本同样接收两个参数,与`mkdir.sh`类似。它首先确定文件的完整路径并检查其父目录是否存在,然后根据文件名的特定部分(如“Con”或“Mod”)来决定生成的PHP代码结构。 例如,如果文件名包含“Con”,它会创建一个控制器类;如果包含“Mod”,则创建模型类。如果既不包含“Con”也不包含“Mod”,脚本会给出错误提示,说明只能创建控制器和模型文件。 ```bash #!/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') if [ ! -d "$parentDir" ]; then echo "父级文件夹路径错误" else cd $parentDir if [ ! -f "$dirAndName" ]; then touch $dirAndName echo "<?php" > $dirAndName # 根据文件名创建PHP代码 ... else echo "文件已经存在" fi fi ``` 此外,Shell脚本还可以用于向现有文件追加内容。使用`cat>>`命令结合`<<EOF`(End-Of-File)可以一次性追加多行文本。例如: ```bash cat >> /test/appendLine.conf <<EOF 我是第二行 我是第三行 EOF ``` 在这个例子中,"我是第二行" 和 "我是第三行" 将被追加到 `/test/appendLine.conf` 文件中。 Shell脚本提供了灵活的方式来进行文件和目录管理,包括创建、检查和追加内容。熟练掌握这些基本操作对于日常的Linux系统管理和自动化任务是十分重要的。通过编写和运行Shell脚本,你可以大大提高工作效率,同时也可以实现更复杂的自动化流程。