2015-01-29 2 views
0

C 쉘에서 문자열 값을 정수로 변환해야합니다. 파이썬에서 C 셸 스크립트로 문자열 변수를 전달하고 필요에 따라 C 셸에서 정수로 변경합니다. 내가 전달하는 변수는 br = "2"라고하지만, 필요로하는 C 셸에서는 정수 2로 변경해야합니다. 파이썬에서 C 셸로 정수 값을 전달할 수있는 솔루션도 도움이 될 것입니다. c 쉘 스크립트에서 문자열 값을 정수로 변환

import subprocess 
import shlex 

var = "nest" 
env_var = "16" 
script = "./testshell.csh" 

#prepare a command (append variable to the scriptname) 
command = "{} {}".format(script, var) 
#prepare environment variables 
environment = {"test_var" : env_var} 

#Note: shlex.split splits a textual command into a list suited for subprocess.call 
subprocess.call(shlex.split(command), env = environment) 

#!/bin/csh 

set br = $test_var 
@ nvar = br + 1 
echo $nvar 

오류는 테스트 쉘 스크립트입니다 : @ : 표현 구문.

+0

난 당신이 그냥 사용할 수 있습니다 확신 해요 정수의 맥락에서. 정수 테스트를 사용하여 테스트 할 때; 예 : <, ==, > 등 – user590028

+0

@ user590028 정수로 사용할 수 없습니다. – nprak

+0

정수로 사용할 수 없습니다. – nprak

답변

0

문제는 달러 기호 ($)와 br 접두사하는 것을 잊었다, 그것은해야한다 :

@ nvar = $br + 1 

예 :

% set br = '2' 
% @ nvar = $br + 1 
% echo $nvar 
3 
관련 문제