Bash 创建一个新文件,并在文件的头中添加CAT

Bash 创建一个新文件,并在文件的头中添加CAT,bash,scripting,Bash,Scripting,我正在尝试创建一个bash脚本,它接受用户输入的文件名,并添加一个标记,.cpp。水电站;或将.app添加到文件末尾。此外,创建的新文件将自动从名为header.txt的单独文件向文件中添加头 #!/bin/bash echo "Enter the file name" read filename echo "file tag:

我正在尝试创建一个bash脚本,它接受用户输入的文件名,并添加一个标记,.cpp。水电站;或将.app添加到文件末尾。此外,创建的新文件将自动从名为header.txt的单独文件向文件中添加头

#!/bin/bash                                                                     
echo "Enter the file name"
read filename
echo "file tag: 1 for .cpp, 2 for .hpp, 3 for .app"
if [ "tag" = 1]; then
    filetag = .cpp
fi
if [ "tag" = 2];then
    filetag = .hpp
到目前为止,我掌握的一些Sudo代码是:

询问用户文件名 回显文件名

问哪个标签 1.cpp

2.水电站

3.应用程序

将Cats header.txt转换为filename.ext cat filename.ext>header.txt

#!/bin/bash                                                                     
echo "Enter the file name"
read filename
echo "file tag: 1 for .cpp, 2 for .hpp, 3 for .app"
if [ "tag" = 1]; then
    filetag = .cpp
fi
if [ "tag" = 2];then
    filetag = .hpp
这只是第一部分。几天前开始学习Bash。将这一部分可视化是我在尝试创建一个带有用户输入文件名的文件时感到困惑的地方。

您就快到了

要将
header.txt的内容复制到新文件中,请执行以下操作

cat header.txt > "$filename"
最终的代码如下所示

#!/bin/bash                                                                     
echo "Enter the file name"
read filename

echo "file tag: 1 for .cpp, 2 for .hpp, 3 for .app"
read tag
case $tag in 
"1")
    extension=".cpp"
    ;;
"2")
    extension=".hpp"
    ;;
"3")
    extension=".app"
    ;;
*)
    echo "Invalid option"
    exit
esac

filename="$filename$extension"

cat header.txt > "$filename"

发布bash脚本欢迎使用堆栈溢出。这不是一个代码编写服务。一旦您努力解决问题,我们将非常乐意为您提供帮助。请这样做。如果您遇到困难,您可以解释这个困难,包括代码的相关部分,作为一个特定的问题,我们可以尝试提供帮助。看见祝你好运。很抱歉,这是一项正在进行的工作,因为我正在学习bash。要创建文件,请使用touch命令。例如:触摸“$filename$filetag”,这样就可以使用Cat,Cat(有标题的文件)>(输入操作符)$filename(这是我们刚刚创建的文件名?)