如何在 /etc/fstab 中指定带有特殊字符的 label/path 作为 'ñ'?
How do I specify a label/path with special characters as 'ñ' in /etc/fstab?
我知道如果路径有空格,可以用 \040:
编码
路径示例:
"//server/folder with spaces"
fstab 条目:
//server/folder0with0spaces /mnt/share/folder_local cifs nofail,credentials=/root/.credfile 0 0
但是如果你有一个包含非英文字符的路径如何填充 fstab 'ñ'?
路径示例:
"//server/folderWith-ñ-char"
我试过:
fstab 条目:
//server/folderWith-\F1-char /mnt/share/folder_local cifs nofail,credentials=/root/.credfile 0 0
基于:
https://www.degraeve.com/reference/urlencoding.php
但我收到错误消息:
mount -a
mount error(2): No such file or directory
直接输入//server/folderWith-ñ-char
,ñ
也没什么特别的。
如有问题,您可以使用 linux-util 中的 mnt_mangle
。编译这个小程序:
$ printf "%s\n" '#include "libmount/libmount.h"' 'int main(int argc, char *argv[]) { puts(mnt_mangle(argv[1])); }' | gcc -xc - -lmount -o mnt_mangle
那么你可以使用:
$ ./mnt_mangle '//server/folderWith-ñ-char'
//server/folderWith-ñ-char
我知道如果路径有空格,可以用 \040:
编码路径示例:
"//server/folder with spaces"
fstab 条目:
//server/folder0with0spaces /mnt/share/folder_local cifs nofail,credentials=/root/.credfile 0 0
但是如果你有一个包含非英文字符的路径如何填充 fstab 'ñ'?
路径示例:
"//server/folderWith-ñ-char"
我试过:
fstab 条目:
//server/folderWith-\F1-char /mnt/share/folder_local cifs nofail,credentials=/root/.credfile 0 0
基于: https://www.degraeve.com/reference/urlencoding.php
但我收到错误消息:
mount -a
mount error(2): No such file or directory
直接输入//server/folderWith-ñ-char
,ñ
也没什么特别的。
如有问题,您可以使用 linux-util 中的 mnt_mangle
。编译这个小程序:
$ printf "%s\n" '#include "libmount/libmount.h"' 'int main(int argc, char *argv[]) { puts(mnt_mangle(argv[1])); }' | gcc -xc - -lmount -o mnt_mangle
那么你可以使用:
$ ./mnt_mangle '//server/folderWith-ñ-char'
//server/folderWith-ñ-char