UNIX, присвоить значение переменной в C или KornShell (ksh) - PullRequest
1 голос
/ 14 октября 2010

Когда я использую bash для запуска следующего кода, он присваивает значение 5 переменной var1.

var1=$(awk '$1>$3{ print "5"}' newfile2)
echo $var1

Но когда я использую этот же код в банане или что-то еще, это выдает мне ошибку.Может кто-нибудь сказать мне, если есть какой-то другой способ, которым я могу написать этот код, чтобы я мог запустить его также с помощью C или KornShell (ksh).

Ответы [ 3 ]

4 голосов
/ 14 октября 2010

Для оболочки C используйте

set var=`....`

Для баш / кш

var1=$(awk '$1>$3{ print "5"}' newfile2)
1 голос
/ 14 октября 2010

Используйте обратные метки и команду set для csh.

set var1=`awk '$1>$3{ print "5"}' newfile2`
echo $var1
0 голосов
/ 14 октября 2010

Обратите внимание, что до и после имени переменной нет пробелов. итак,

var1=`ls`

это то, что вам нужно. Но если у вас есть

var = `ls` 

вы получите ошибки.

Итак, ваш код должен быть:

var1=`awk '$1>$3{ print "5"}' newfile2`
echo $var1

Убедитесь, что вы находитесь в оболочке BASH, а не в C или TCSH.

...