У меня есть сценарий под названием cmdtst_multi.ksh, и когда я запускаю его так:
. ./cmdtst_multi.ksh
У меня есть переменная, которая заполняется следующим образом;
treeLvls=$(td_query {})
echo "num of tree lvls:" $treeLvls
##gives back num of tree lvls: 4
treeLvlsSQL=$(for i in {1..$treeLvls}
do
echo ",NULL as LVL$i"
done)
echo "tree sql:" $treeLvlsSQl
#gives back tree sql: ,NULL as LVL1 ,NULL as LVL2 ,NULL as LVL3 ,NULL as LVL4
он работает нормально
но когда я запускаю это так:
nohup cmdtst_multi.ksh > prcsstst.log &
treeLvlsSQl отображается в файле журнала следующим образом, что неверно:
tree sql: ,NULL as LVL{1.. ,NULL as LVL4}
почему кажется, что переменные работают по-другому?
nohup
скрипт запускается не сksh
, а с чем-то другим? - person Jonathan Leffler   schedule 21.11.2014#!/bin/ksh
и посмотрите, прав ли Джонатан. Поддерживает ли ваш ksh конструкциюfor i in {1..5}
!? - person Walter A   schedule 28.11.2014