我正在尝试获取 txt 文件“usernum.txt”的内容,获取内容,在该数字上加一,然后用新数字替换当前数字。这是我到目前为止所拥有的
#!/bin/sh
ID=0
cat ''$pwd'usernum.txt' >> $ID
count1=1
IDB=$(($ID+$count1))
rm "usernum.txt"
touch "usernum.txt"
echo $IDB >> usernum.txt
它运行,但是当我打开文件时,它保持不变。有任何想法吗?谢谢,迈克
您应该将输出存储为cat
intoID
而不是使用>>
. 你这样做的方式总是添加到一个名为“0”的文件中。要存储 cat 的输出,请使用:
ID=$( cat 'usernum.txt' )
我还删除了“pwd”,因为您不需要它,而且它也被单引号转义。
编辑:这是一个完整的工作示例。请注意,如果没有 usernum.txt 文件,这将打印一些错误(cat 和 rm 失败)但仍然有效(即在文件中打印 1)。您应该检查文件是否存在以避免这些错误:
ID=$( cat 'usernum.txt' )
count1=1
IDB=$(($ID+$count1))
rm "usernum.txt"
touch "usernum.txt"
echo $IDB >> usernum.txt