【问题标题】:Bash code problem in accessing directories and its files [duplicate]访问目录及其文件时的 Bash 代码问题 [重复]
【发布时间】:2021-09-30 14:17:55
【问题描述】:

我是 bash 新手,使用在线 bash 编译器,我试图循环访问每个目录和其中的文件。但是每次都显示目录不存在。在像 replit 这样的在线 bash 编译器中创建和访问目录的正确语法是什么?

#!/bin/bash
for I in new, new1
  do
    cp /fileName $1
  done

Output:

cp: cannot stat 'fileName': No such file or directory
cp: cannot stat 'fileName': No such file or directory

【问题讨论】:

  • 你应该添加一个你正在尝试做的示例
  • 显示你目前尝试过的代码?
  • 好的,等一下
  • for i in new new1; do echo cp filename "$i"; done 不需要, 来分隔您循环通过的元素,/ 表示 Unix/Linux 目录树上的父目录,echo有没有向你展示可能发生的事情......

标签: linux bash


【解决方案1】:

问题是你在fileName 前加上/,所以它期望在(操作系统的)根目录中有一个,而不是相对于运行程序的文件相对 ,但实际上是/fileName的文件

然后您还使用$I 作为循环变量,但稍后尝试在它们应该相同时引用$1

你几乎肯定想要这样的表格

for path in new new1; do
   cp fileName "$path/"
done

【讨论】:

    猜你喜欢
    • 2016-03-05
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多