Bash 向变量中添加数字

Bash 向变量中添加数字,bash,variables,cat,Bash,Variables,Cat,我正在尝试获取一个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 它运行,但当我打开文件时,它保持不变。有什么想法吗? 谢

我正在尝试获取一个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
它运行,但当我打开文件时,它保持不变。有什么想法吗? 谢谢
Mike

您应该将
cat
的输出存储到
ID
中,而不是使用
>
。您始终将添加到名为“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
可能重复的