bash 변수에 Windows 경로가 문자열로 있습니다.
file='C:\Users\abcd\Downloads\testingFile.log'
이 경로를로 시작하는 Linux 경로로 변환하려고합니다 /c/Users...
.
내 시도
다음과 같이 작동합니다.
file=${file/C://c}
file=${file//\\//}
echo $file
> /c/Users/abcd/Downloads/testingFile.log
문제
여기서는 파일 경로가 포함 된 문자열에 대해이 작업을 수행했습니다. 이 질문을하는 이유는 Ubuntu 16.04의 bash 스크립트에서 20 개의 문자열을 변환해야하기 때문에 변환 할 때마다 2 줄을 작성해야하기 때문에 많은 공간을 차지하고 있기 때문입니다!
질문
두 명령을 결합하는 방법이 있습니까
file=${file/C://c}
file=${file//\\//}
하나의 명령으로?
1
for 루프 (어쩌면 배열)를 사용하십시오. 또한 변수를 인용하십시오.
—
wjandrea
감사. 루프 또는 배열에서이를 수행하는 방법의 예를 보여줄 수 있습니까?
—
edesz