2014-01-23 2 views
0

나는 output.txt를 생성 할 스크립트를 가지고 있습니다. 이제이 output.txt의 이름을 바꾸고 싶습니다. 이 파일의 이름을 변수로 바꿔야합니다. 예 : 값을 가져 와서 임시 변수에 저장하는 입력 파일이 있습니다. 이제이 temp.txt로이 output.txt의 이름을 바꾸고 싶습니다. 다음 명령을 사용하여 작업을 수행 할 수있었습니다. 하지만 파일 이름에 특수 문자가 추가되는 것을 보았습니다.변수를 사용하여 유닉스 파일 이름 바꾸기

output.txt의 이름을 Type 값으로 변경해야합니다.

#!/bin/sh 
mv result/$bld_no/output.txt "result/$bld_no/$Type" 

파일의 이름을 바꿀 수 있지만 추가 문자가 추가됩니다. A1XFE4LQM16OSW (콘솔에서 볼 때 상자가 물음표입니다.)

누구나 특별한 문자를 추가하지 않고 변수 이름으로 파일 이름을 바꾸는 방법을 알려주십시오.

+1

아마도 'Type' 변수에있을 것입니다. 아마 캐리지 리턴과 같을 것입니다. 파일에서이 var를 읽는다면 후행 공백을 제거해야 할 것입니다. – brianmearns

답변

2

문제가 실제로 변수의 끝에 "특수 문자"라고 생각됩니다.

여기, 당신이 떠들썩한 파티를 사용하는 변수 오프 마지막 문자를 제거합니다

TYPE="${TYPE%?}" 

가정, 내가 할 일이야.

내가 처음에 TYPE을 설정하는 방법을 조사하는 것이 좋습니다.하지만 질문에 대한 답변이 아닙니다.

+0

안녕하세요, 변수는 특수 문자가 없습니다. 변수는 "A1XFE4LQM16OSW"만 포함합니다. 하지만 이름을 변경하려고하면 mv result/$ bld_no/output.txt가됩니다. "result/$ bld_no/$ Type"은 끝에 특수 문자로 output.txt의 이름을 바꿉니다. – user3193684

관련 문제