在变量中添加数字

时间:2012-09-20 07:41:04

标签: 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

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

1 个答案:

答案 0 :(得分:3)

您应该将cat的输出存储到ID,而不是使用>>。您这样做的方式总是添加到名为“0”的文件中。存储猫使用的输出:

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