目前在工作场所使用 csh。
所以我现在拥有的是存储在文件第一行的路径,我正在尝试读取它。
head -n 1 jvar.txt
现在我必须去那条路径,所以我试图将其存储在一个变量中
set a = head -n 1 jvar.txt
但无法将其存储在非法变量名中。想法是执行 cd $a 并转到该路径。有什么方法可以将其存储到某个位置,以便我可以 cd 到该路径。
答案1
要将 head 命令的输出捕获到可以分配给变量的字符串中,您需要命令替换。
在 中csh
,这是通过将命令括在反引号中来完成的:
set a = `head -1 jvar.txt` # csh
反引号语法在 中也有效bash
,但已被弃用,取而代之的是$(...)
。还请注意,在 bash 和类似的 Bourne/Korn 派生 shell 中,在运算符周围包含空格是错误的=
:
a=$(head -1 jvar.txt) # bash, ksh, sh etc.