【发布时间】:2017-07-21 21:11:23
【问题描述】:
我有带功能的脚本:
mount_share () {
mkdir /data
echo //$STORAGE_NAME.file.core.windows.net/$STORAGE_SHARE /data cifs vers=3.0,username=$STORAGE_NAME,password=$STORAGE_KEY,dir_mode=0755,file_mode=0644,serverino >> /etc/fstab
mount -a
}
执行后 - mount 返回一个错误:
root@xx255rs2sptry000001:~# mount -a
mount: /etc/fstab: parse error: ignore entry at line 9.
如果我尝试手动sed,也会出现同样的错误:
root@xx255rs2sptry000001:~# STORAGE_NAME=ggg
root@xx255rs2sptry000001:~# STORAGE_KEY=sakey
root@xx255rs2sptry000001:~# STORAGE_SHARE=sashare
root@xx255rs2sptry000001:~# echo //$STORAGE_NAME.file.core.windows.net/$STORAGE_SHARE /data cifs vers=3.0,username=$STORAGE_NAME,password=$STORAGE_KEY,dir_mode=0755,file_mode=0644,serverino >> /etc/fstab
root@xx255rs2sptry000001:~# cat /etc/fstab
# CLOUD_IMG: This file was created/modified by the Cloud Image build process
UUID=e990f8b3-1d6b-4615-8280-8ead4ed2fe7c / ext4 defaults,discard 0 0
# CLOUD_IMG: This file was created/modified by the Cloud Image build process
# The following is used to dynamically configured additional
# NICs. Do not remove unless you know what you are doing.
none /etc/network/interfaces.dynamic.d tmpfs nodev,noexec,nosuid,size=64K 0 0
/dev/disk/cloud/azure_resource-part1 /mnt auto defaults,nofail,x-systemd.requires=cloud-init.service,comment=cloudconfig 0 2
//ggg.file.core.windows.net/sashare /data cifs vers=3.0,username=ggg,password=sakey,dir_mode=0755,file_mode=0644,serverino
root@xx255rs2sptry000001:~# mount -a
mount: /etc/fstab: parse error: ignore entry at line 9.
我试图关闭“”中的变量 - 但没有运气:
echo "//$STORAGE_NAME.file.core.windows.net/$STORAGE_SHARE /data cifs vers=3.0,username=$STORAGE_NAME,password=$STORAGE_KEY,dir_mode=0755,file_mode=0644,serverino" >> /etc/fstab
echo //"$STORAGE_NAME".file.core.windows.net/"$STORAGE_SHARE" /data cifs vers=3.0,username="$STORAGE_NAME",password="$STORAGE_KEY",dir_mode=0755,file_mode=0644,serverino >> /etc/fstab
等等。
/etc/fstab 中的条目看起来绝对正确,但是...
我在这里做错了什么?
如果手动添加挂载条目,使用 vim 且不使用变量 - 一切正常。
Azure 文件共享文档 - here。
【问题讨论】:
-
用 -v 找出 /etc/fstab 以确保其中没有虚假字符。
-
你也没有 firth 和 Sixth 字段,即 0 和 0。
-
@RamanSailopal 谢谢!
cat -v告诉我问题://ggg.file.core.windows.net/sashareM-BM- /dataM-BM- cifsM-BM- vers=3.0,username=ggg,password=sakey,dir_mode=0755,file_mode=0644,serverino尚不知道M-BM-来自哪里,但这就是原因。您可以添加您的评论作为答案吗?