我不熟悉Linux中的shell脚本,我试图从键盘获取数据,然后将传入的数据附加到文件中。非常直接但我在尝试创建文件时遇到错误。错误显示“您无权创建此文件”。
我首先检查以确保文件存在。如果存在,则追加到文件末尾。如果没有,请创建该文件。我究竟做错了什么?
谢谢!
P.S。在这种情况下,我还没有创建文件
#!/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
答案 0 :(得分:3)
您正在根目录下创建文件。尝试file="~/testFile.dat"
在您的家中创建文件,或仅file="./testFile.dat"
在当前目录中创建该文件。
答案 1 :(得分:3)
您正在尝试写入位于根目录/testFile.dat
中的文件/
。作为普通用户,您很可能没有创建此类文件的写入权限。
但是我想要的是在当前目录中创建testfile.dat
。
替换以下行:
file="/testFile.dat"
使用:
file="./testFile.dat"