1

ディレクトリ内のすべてのファイルのリストを取得し、それらを単一の文字列変数に連結する小さなプログラムを作成しました。これがコードです

#!/bin/bash
dir ="/home/user/myfolder/abc"
res=" "

for f in $( ls $dir  ); do
    res="$res $f"
done

echo $res

ただし、次のエラーが表示されます

dir: cannot access =/home/user/myfolder/abc: No such file or directory

必要な権限をすべて設定しました。解決策は何ですか?

4

2 に答える 2

8

割り当て間のスペースを削除します。

#!/bin/bash
dir ="/home/user/myfolder/abc"

これを行う:

#!/bin/bash
dir="/home/user/myfolder/abc"

各言語には独自の構文があり、bash スクリプトではleft_value=right_value代入時に間にスペースは必要ありません。ご覧のとおり、これは単なる構文の問題です。

于 2013-01-11T11:11:27.443 に答える
3

おそらくあなたが必要です:

dir=/home/user/myfolder/abc

それよりも

dir ="/home/user/myfolder/abc"

dirの後の余分なスペースは、コマンド「dir」になり、通常はlsにエイリアスされます。

于 2013-01-11T11:13:22.903 に答える