Scripting Sun Solaris变量不包含值

Scripting Sun Solaris变量不包含值,scripting,solaris,sun,Scripting,Solaris,Sun,我正面临一个棘手的问题。已经两天了,我尝试了很多东西,但都没有成功 在sun solaris上,我编写了一个脚本,该脚本将检查系统的总物理内存,然后将其分配给变量,然后将值写入文件。现在,当我手动运行脚本时,变量已正确写入文件。但是如果我把脚本放在cron上,什么也不会发生。文件创建正常,但没有写入任何值。我试过printf和echo,它们在从提示符运行时都可以工作,但在cron上不能工作。Printf不向文件写入任何内容,echo写入空行。以下是片段: #!/bin/bash total_me

我正面临一个棘手的问题。已经两天了,我尝试了很多东西,但都没有成功

在sun solaris上,我编写了一个脚本,该脚本将检查系统的总物理内存,然后将其分配给变量,然后将值写入文件。现在,当我手动运行脚本时,变量已正确写入文件。但是如果我把脚本放在cron上,什么也不会发生。文件创建正常,但没有写入任何值。我试过printf和echo,它们在从提示符运行时都可以工作,但在cron上不能工作。Printf不向文件写入任何内容,echo写入空行。以下是片段:

#!/bin/bash
total_mem=`prtconf | head -3 |grep Mem | awk -F" " '{print $3}'`
printf $total_mem >> test.txt
####i have tried echo as well
#/usr/bin/echo $total_mem >> test.txt

请帮忙。

那么在cron下有些不同。所有二进制文件都在路径中吗?试试prtconf的输出,检查awk是否可用,等等@NikolaiNFetissov:非常感谢Nikolai。我从你的回答中找到了线索。只是cron不知道prtconf。所以我写了完整的路径/etc/prtconf,就是这样!!!非常感谢。最好使用/usr/sbin/prtconf的真正完整路径,而不是/etc下过时的符号链接,因为/etc符号链接在Solaris 11和更高版本中已被删除。感谢@alanc提供的信息。我们也将检查此选项。