Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在mac上使用相对路径的cat_Linux_Macos_Relative Path_Cat - Fatal编程技术网

Linux 在mac上使用相对路径的cat

Linux 在mac上使用相对路径的cat,linux,macos,relative-path,cat,Linux,Macos,Relative Path,Cat,我正在尝试cat4个文件,一个目录下到一个新文件,另一个目录下: cat ./dira/file.txt ./dirb/file.txt ./dirc/file.txt ./dird/file.txt > ./dire/file.txt 我可以在终端上实现这一点,但在以下情况下无法实现: for i in `ls -d prefix*` do cd $i pwd   cat ./dira/file.txt ./dirb/file.txt ./dirc/file.txt ./dir

我正在尝试
cat
4个文件,一个目录下到一个新文件,另一个目录下:

cat ./dira/file.txt ./dirb/file.txt ./dirc/file.txt ./dird/file.txt > ./dire/file.txt
我可以在终端上实现这一点,但在以下情况下无法实现:

for i in `ls -d prefix*`
do
  cd $i
  pwd
  cat ./dira/file.txt ./dirb/file.txt ./dirc/file.txt ./dird/file.txt > ./dire/file.txt
done

其中
pwd
打印正确的目录。我发现错误:
-bash::command not found

文件中的一行开头必须有一个不间断的空格(在编辑过程中意外键入选项空格可以轻松完成)。壳牌会认为这是一个词,并试图作为命令运行非破坏性空间;这将产生您看到的“bash::command not found”错误。

您所说的“how”是什么意思?这应该可以正常工作。请参阅我的编辑。这在终端中起作用,但不是在一个简单的循环中。您的shell脚本中是否存在任何
\r
/
\n
\040
/
\240
混乱?shell脚本是纯文本编辑文档,所以我不这么认为。我在bbedit中也没有看到任何错误的行结尾。FWIW,
\040
是正常的[Space],而
\240
是[Non-breaking Space]。您可以对文件进行
grep
”检查是否有奇数字符。您可以使用普通空格和制表符缩进。我怀疑您无意中键入了非中断版本(这是一个不同的代码,shell无法将其识别为空白)。我可能在富文本中使用了常规空格,但在纯文本中转换为错误的空格。谢谢