如何编写创建文件的shell脚本
echo "Enter the file you want to create"
read a
touch $a
并将内容添加到创建的文件' a'
echo "Enter the contents to your $a file:"
cat > $a << 'EOF'
EOF
上面的方法不正确,我在这里做错了什么?
答案 0 :(得分:2)
你快到了。这将按照您的要求进行:
echo "Enter the file you want to create"
read a
echo "Enter the contents to your $a file (press ctrl-D when done):"
cat >"$a"
touch $a
无需触摸文件。 cat
语句无论如何都会创建它。
另外,因为文件名可以包含空格,所以最好在双引号内放入包含文件名的任何shell变量。这可以防止分词。
cat > $a << 'EOF'
EOF
构造<< 'EOF'
告诉shell从 here document 中读取。如果您希望将shell脚本中的文本用作输入,则可以使用此选项。你没有。您希望改为读取用户的输入。因此,上述两行可以简单地替换为cat >"$a"
。
答案 1 :(得分:1)
然后你可以问一个简单的回声:
echo "Enter the file you want to create"
read file
echo "Enter the contents to your $a file:"
read content
echo "$content" > "$file"