我正在尝试将cut命令的输出赋值给一个变量,但是遇到了一个奇怪的问题。 我正在使用tcsh shell。
$echo $0
tcsh
我正在运行的命令是:
$set a=`cut -f2 -d' ' test.txt`
Missing }. //This is the output I am getting
现在,这个文件非常简单(好吧,其实这不是我正在处理的文件,但我把问题简化到了这个文件上)。
Test.txt:
{ {corner
就是这样!这就是文件。如果我将文件更改为这个:
{ {corner}
代码可以运行,但是变量"a"得到了以下的值:
$echo $a
corner //Please note its not {corner} but corner
因此,我认为shell试图将{corner
作为命令执行,由于缺少闭合大括号而导致shell报错。有人知道为什么会出现这种情况吗?我的理解是它应该只是将cut的输出分配给变量,但看起来它正在递归地分配它!
新手
set line1="head -1 file.csv"
将文件的第一行重定向到一个变量中,然后当我运行echo "$line1"
时,它打印出了head -1 file.csv
。这里出了什么问题? - Lou