如何从 samba 驱动器(cifs 安装)执行脚本?

如何从 samba 驱动器(cifs 安装)执行脚本?

如果我从 samba 共享启动 shell 脚本“test.sh”,则会收到错误:

bash: ./test.sh: /bin/sh: Defekter Interpreter: Eingabe-/Ausgabefehler

(bash:./test.sh:/bin/sh:错误的解释器:输入/输出错误)

脚本未执行。

我的脚本:

#!/bin/sh
echo "test"

如果我在本地驱动器上执行相同操作,则没有问题,它可以正常执行。

该共享安装在fstab中:

//192.168.1.15/Netdrive  /home/measuser/Netdrive  cifs  noauto,rw,exec,users,file_mode=0777,dir_mode=0777,credentials=/home/measuser/.config/.smb-cred  0 0

如果我在网络驱动器上使用“/bin/sh ./test.sh”或“/bin/sh /home/measuser/Netdrive/test.sh”,一切都正常。

我该怎么做才能解决这个问题?

我的系统:

Operating System: Ubuntu Studio 22.04
KDE Plasma Version: 5.24.7
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3
Kernel Version: 6.5.0-26-lowlatency (64-bit)
Graphics Platform: X11
Processors: 16 × 13th Gen Intel® Core™ i7-13700K
Memory: 62.5 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 3060/PCIe/SSE2

答案1

据我观察,Windows(至少是 XP)有一个称为存档位的功能,当文件被修改时,该功能处于打开状态。它可以关闭,并且一些备份程序在制作备份副本时会彻底关闭这些存档位(例如 Nero CD 刻录软件)。
至少在我的环境中,该存档位似乎与 ubuntu 环境中的执行位相同。

想想在真正的 Windows(XP)系统上切换此位的 DOS attrib 命令。

相关内容