Wine's 에 글꼴을 넣었기 때문에 Wine에서 글꼴을 가져오는 스크립트를 작성하려고 하는데 c:\Windows\Fonts
reg 파일에서 가져오지 않으면 Wine이 글꼴을 읽지 않습니다.
"Font Name"="Z:\path\to\my\wineprefix\c:\Windows\Fonts\file.ttf"
그리고 or를 사용하여 /
을 로 변경하는 방법을 모르겠습니다 . 슬래시를 백슬래시로 바꾸는 방법을 아는 사람이 있습니까?\
$(pwd)
$PWD
에코와 출력 파일에 문제가 있습니다. 내 bash 스크립트에는 이것이 있습니다
RUTA=""$( cd -P "$( dirname "$" )" && pwd )""
RUTAINVERSA=$(printf '%s\n' "${PWD//\//\\}")
글쎄, 나는 다음을 시도해 보았습니다.
1 :
echo 'REGEDIT4
[HKEY_CURRENT_USER\\Software\\Wine\\Fonts\\External Fonts]
"Courier New"="'"Z:\\$RUTAINVERSA\\wine\\data\\dosdevices\\c:\\windows\\Fonts\\cour.ttf"'"
"Courier New Bold"="'"Z:\\$RUTAINVERSA\\wine\\data\\dosdevices\\c:\\windows\\Fonts\\courbd.ttf"'"' >> "$ARREGLOS/Fuentes.reg"
과거의 결과는 다음과 같습니다. c:\Windows\Fonts
, 나머지 부분에서는 무슨 일이 일어났는지 모르겠습니다 \file.ttf
.
2 :
echo >> "$ARREGLOS/Fuentes.reg"
echo "[HKEY_CURRENT_USER\\Software\\Wine\\Fonts\\External Fonts]" >> "$ARREGLOS/Fuentes.reg"
echo "Courier New"="c:\\windows\\Fonts\\cour.ttf" >> "$ARREGLOS/Fuentes.reg"
echo "Courier New Bold"="c:\\windows\\Fonts\\courbd.ttf" >> "$ARREGLOS/Fuentes.reg"
결과는 다음과 같습니다: Courier New c:windowsFontcour.tff Courier New Bold c:widowsFontscourbd.ttf
삼 :
[HKEY_CURRENT_USER\\Software\\Wine\\Fonts\\External Fonts]
"Courier New"="'"c:\\\windows\\\Fonts\\\cour.ttf"'"
"Courier New Bold"="'"c:\\\windows\\\Fonts\\\courbd.ttf"'" ' >> "$ARREGLOS/Fuentes.reg"
첫 번째와 동일합니다 c:\windows\Fonts
. 변수 결과에서 경로가 가득 차지 않은 이유를 모르겠습니다.
답변1
무엇을 하려는지 잘 모르겠지만 슬래시를 변경하는 것은 쉽습니다.
$ printf '%s\n' "${PWD//\//\\}"
\home\terdon
이것은 ksh의 문자열 조작 기능을 사용하고 있습니다.다음에서도 사용 가능bash
. 특히 는 변수에서 ${foo//bar/baz/}
문자열의 모든 항목을 bar
로 바꿉니다 . 및 는 특수 문자 이므로 이 문자를 사용하려면 이스케이프( 및 ) 해야 합니다 . 위의 내용은 다음과 동일합니다.baz
$foo
/
\
\\
\/
pwd | sed 's#/#\\#g'
답변2
당신이 사용할 수있는sed
다음 명령을 사용하여 모두를 변환 /
합니다 \
.
sed 's/\//\\/g'
예:
$ echo $PWD | sed 's/\//\\/g'
\home\pandya
또 다른 방법은tr
:
tr '/' '\\'
위의 명령으로 tr
모두 ; /
로 변환합니다. \
예:
$ echo $PWD | tr '/' '\\'
\home\pandya