【发布时间】:2010-10-14 02:15:08
【问题描述】:
当我使用 bash 运行以下代码时,它会将值 5 分配给 var1。
var1=$(awk '$1>$3{ print "5"}' newfile2)
echo $var1
但是当我在香蕉或其他东西中使用相同的代码时,它给了我错误。有人可以告诉我是否有其他方法可以编写此代码,以便我也可以使用 C 或 KornShell (ksh) 运行它。
【问题讨论】:
当我使用 bash 运行以下代码时,它会将值 5 分配给 var1。
var1=$(awk '$1>$3{ print "5"}' newfile2)
echo $var1
但是当我在香蕉或其他东西中使用相同的代码时,它给了我错误。有人可以告诉我是否有其他方法可以编写此代码,以便我也可以使用 C 或 KornShell (ksh) 运行它。
【问题讨论】:
对于 C shell,使用
set var=`....`
对于 bash/ksh
var1=$(awk '$1>$3{ print "5"}' newfile2)
【讨论】:
对 csh 使用反引号和 set 命令。
set var1=`awk '$1>$3{ print "5"}' newfile2`
echo $var1
【讨论】:
请注意变量名前后不能有空格。 所以,
var1=`ls`
是你需要的。但是,如果你有
var = `ls`
你会得到错误。
所以,你的代码应该是:
var1=`awk '$1>$3{ print "5"}' newfile2`
echo $var1
确保您使用的是 BASH shell,而不是 C 或 TCSH。
【讨论】: