【问题标题】:convert path to string bash将路径转换为字符串 bash
【发布时间】:2012-11-23 02:27:17
【问题描述】:

我想把多个文件路径作为一个字符串放在 bash 脚本中,这样我就可以把这个字符串传递给另一个程序。 当我连接这些文件路径时,我收到错误:没有这样的文件或目录。 Bash 必须将此文件路径作为字符串而不是文件...

我是这样连接的:

all=""
for path in $dir/*; do
    filePath="$path/file.txt"
    $all="$all I=$filePath"
done

echo $all

我怎样才能得到这个输出?

I=first/file.txt I=second/file.txt etc.

【问题讨论】:

  • all="$all I=$filePath" 你试过不用$吗?
  • 您的代码有问题:您根本没有使用循环变量path...
  • 在简化这个脚本时犯了一个小错误;)问题是 Velthune 提到的......
  • 你最好使用数组!

标签: string bash path


【解决方案1】:

只是你的语法错误:

all=""
for path in $dir/*; do
    filePath="$dir/file.txt"
    all="$all I=$filePath"    #without $
done
echo $all

【讨论】:

  • 这就是问题所在……为什么 bash 没有给 shell 一个语法错误,而是说它不是文件或目录 -_-
【解决方案2】:

也许您打算使用path?并且不要在作业中使用 $ 作为前缀。

all=""
for path in $dir/*; do
    filePath="$path/file.txt"
    all="$all I=$filePath"
done
echo $all

【讨论】:

    猜你喜欢
    • 2020-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 2015-05-02
    • 2011-04-01
    相关资源
    最近更新 更多