1

我正在尝试获取 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

它运行,但是当我打开文件时,它保持不变。有任何想法吗?谢谢,迈克

4

1 回答 1

3

您应该将输出存储为catintoID而不是使用>>. 你这样做的方式总是添加到一个名为“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
于 2012-09-20T07:53:19.427 回答