0

我是 Linux 中 shell 脚本的新手,我正在尝试从键盘获取数据,然后将传入的数据附加到文件中。非常简单,但是当我尝试创建文件时出现错误。错误提示“您无权创建此文件”。

我首先检查以确保文件存在。如果存在,则追加到文件末尾。如果没有,请创建文件。我究竟做错了什么?

谢谢!

PS在这种情况下,我还没有创建文件

#!/bin/sh                                                                                                                            

echo "Please enter your first name";
read first
echo "Please enter your last name";
read last

combine=":$first $last"
file="/testFile.dat"

if [ -f "$file" ]
then
echo "$file found."
echo $combine >> $file
else
echo "$file not found. Will create the file and add entry now."
touch $file
$combine >> $file
fi
4

2 回答 2

3

您正在尝试写入/testFile.dat位于根目录中的文件/。作为普通用户,您很可能没有创建此类文件的写入权限。

但是我猜你想要的是testfile.dat在当前目录中创建。

替换以下行:

file="/testFile.dat"

和:

file="./testFile.dat"
于 2013-03-24T22:06:21.103 回答
3

您正在根目录下创建文件。尝试file="~/testFile.dat"在您的家中创建该文件,或者只是file="./testFile.dat"在当前目录中创建它。

于 2013-03-24T22:05:20.050 回答