Bash 脚本无法在 /opt 中找到文件并给出奇怪的错误消息
Bash script can't find file in /opt and gives strange error message
我正在尝试使用一个简单的 bash 脚本,该脚本使用 /opt
中的脚本
#!/bin/bash
pvpython=/opt/paraviewopenfoam54/bin/pvbatch
script_path=save_contours.py
$pvpython $script_path
文件 pvbatch
确实存在,但是当我尝试 运行 脚本时,我收到了这个奇怪的错误消息,感觉它缺少一些字符:
: No such file or directoryaviewopenfoam54/bin/pvbatch
我正在使用的 Ubuntu 是 Ubuntu 18.04.1 LTS,位于 Linux 的 Windows 子系统中。什么可能导致此错误消息?
当我 运行 ls -al pvbatch
在 /opt/paraviewopenfoam54/bin
我得到
-rwxr-xr-x 1 root root 84200 May 29 2018 pvbatch
cat pvbatch
returns一条错误信息
cat: write error: Input/output error
使用 WSL 时,我经常发现问题,尤其是当我直接从 windows 创建文件到 Linux 文件系统时这个 Input/output error
问题。基本上有三种主要方法可以解决这个特定问题:(这些不是步骤,而是单独的解决方案)
-重新启动您的 Ubuntu 终端
-重新启动整个计算机
-直接从Windows删除文件,touch
文件,然后用旧文件覆盖
对于更具可扩展性的解决方案,我建议将文件保留在 windows 系统中,并且仅在 Linux 中的 Linux 系统中工作。
所以cat
无法读取奇怪的文件!
我的第一个想法是文件本身有问题。文件是在哪里创建的?我看到它在 /opt/paraviewopenfoam54/bin
下,这是一个 linux 托管文件夹,您是在 WSL 中使用 vim 创建和编辑文件,还是在 windows 中以某种方式创建它VS代码之类的?
让我检查一下您是否在 windows 中直接在 %LOCALAPPDATA% 文件夹内的 /opt 文件夹中创建和编辑文件。如果文件是用这种方法创建的,则可能会破坏 WSL 安装。 Dont Edit WSL files
我正在尝试使用一个简单的 bash 脚本,该脚本使用 /opt
#!/bin/bash
pvpython=/opt/paraviewopenfoam54/bin/pvbatch
script_path=save_contours.py
$pvpython $script_path
文件 pvbatch
确实存在,但是当我尝试 运行 脚本时,我收到了这个奇怪的错误消息,感觉它缺少一些字符:
: No such file or directoryaviewopenfoam54/bin/pvbatch
我正在使用的 Ubuntu 是 Ubuntu 18.04.1 LTS,位于 Linux 的 Windows 子系统中。什么可能导致此错误消息?
当我 运行 ls -al pvbatch
在 /opt/paraviewopenfoam54/bin
我得到
-rwxr-xr-x 1 root root 84200 May 29 2018 pvbatch
cat pvbatch
returns一条错误信息
cat: write error: Input/output error
使用 WSL 时,我经常发现问题,尤其是当我直接从 windows 创建文件到 Linux 文件系统时这个 Input/output error
问题。基本上有三种主要方法可以解决这个特定问题:(这些不是步骤,而是单独的解决方案)
-重新启动您的 Ubuntu 终端
-重新启动整个计算机
-直接从Windows删除文件,touch
文件,然后用旧文件覆盖
对于更具可扩展性的解决方案,我建议将文件保留在 windows 系统中,并且仅在 Linux 中的 Linux 系统中工作。
所以cat
无法读取奇怪的文件!
我的第一个想法是文件本身有问题。文件是在哪里创建的?我看到它在 /opt/paraviewopenfoam54/bin
下,这是一个 linux 托管文件夹,您是在 WSL 中使用 vim 创建和编辑文件,还是在 windows 中以某种方式创建它VS代码之类的?
让我检查一下您是否在 windows 中直接在 %LOCALAPPDATA% 文件夹内的 /opt 文件夹中创建和编辑文件。如果文件是用这种方法创建的,则可能会破坏 WSL 安装。 Dont Edit WSL files