我想在单个命令中获取Linux中的Java版本,然后将输出保存到变量中。
使用以下命令将变量分配给本地版本的java。我想在远程主机上运行java -version,解析版本号,然后将输出保存到变量。
ssh -q -t $server "OLDJAVA=`java -version 2>&1 | cut -s -d '"' -f2`"
答案 0 :(得分:0)
您需要在远程主机上运行该命令并将一个局部变量设置为输出,ssh将转发:
'\"'
ssh
响应将转义的报价发送到远程服务器的需要。 (我在第一次迭代时错过了这个。)然而,在本地机器上进行重定向和后处理更容易,因为OLDJAVA=$(ssh -q $server java -version 2>&1 | cut -s -d \" -f2)
将传回stdout和stderr。这导致更简单的
-t
在这两种情况下,我都删除了-q
选项,因为它似乎并不需要。 if object_id('tempdb..##t1') is not null
drop table #t1
select * into ##t1 from patientview where isdate(dob)=1
select distinct(ptr.RecordID)
from dbo.PatientRecord as ptr
where
ptr.CHName like 'Access2Loc%'
AND ptr.RecordID
in(
select
(
case when
(DATEDIFF(hour, convert(date,DOB,110), GETDATE())/8766)>18
then PatientID
else NULL
end
) as RecordID
from
##t1
)
drop table ##t1
选项可能会产生比解决更多的问题(因为您肯定希望对ssh错误做出反应。)