シェル (bash) スクリプトで使用するカウンターを作成する必要があります。スクリプトが呼び出されるたびに、含まれる数値を 1 ずつ増やす必要があり、その数値は 6 桁の数値として保持する必要があるため、初期値は 000000 になります。次に 000001、次に 000002 など... 私がやっていることは、最初の行に 6 桁の整数を含む「counter」という名前のファイルを作成することです。スクリプトから私はこのコードを持っています:
index= cat /path/counter | tail -1 #get the counter
tmp=`expr $index + 1` #clone and increase the counter
echo "" >/path/counter #empty the counter
echo ${tmp} >/path/counter #insert clone
問題は、2 番目のステップで機能しないことです。おそらく最初のステップが実際に失敗している可能性があります。アドバイスはありますか?
オプションは次のとおりです。
#!/bin/bash
read index < /path/counter
declare -i tmp=index+1
printf "%06d" $tmp > /path/counter
問題は、ファイルの内容が 000007 までしか発生しないことです。その後、次のようになります。
-bash: 000008: value too great for base (error token is "000008")
何かアドバイス?