Wine'sにフォントを入れたので、Wineからフォントをインポートするスクリプトを作成しようとしていますc:\Windows\Fonts
。ただし、regファイルからインポートしないと、Wineはフォントを読みません。
"Font Name"="Z:\path\to\my\wineprefix\c:\Windows\Fonts\file.ttf"
どのように使用または変更するのかわかりません/
。スラッシュをバックスラッシュに変える方法を知っている人はいますか?\
$(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
result変数のパスが不完全な理由がわかりません。
答え1
何をしたいのかわかりませんが、スラッシュを変更するのは簡単です。
$ printf '%s\n' "${PWD//\//\\}"
\home\terdon
これはkshの文字列操作機能を使用することです。次のターゲットにも利用可能bash
。特に、${foo//bar/baz/}
変数内のすべての文字列が置き換えられます。 and は特殊文字なので、使用する前にエスケープする必要があります。上記の式は次のとおりです。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