Bashスクリプトを使用して、名前にスペースが含まれるフォルダ内にファイルを作成します。

Bashスクリプトを使用して、名前にスペースが含まれるフォルダ内にファイルを作成します。

mdファイルを含む新しいフォルダを作成しようとしていますが、mdファイルは内部にいくつかのテキストを準備する必要があります。問題は、フォルダ名にスペースが含まれていることです。 @、角かっこ、引用符など、さまざまな組み合わせを試しましたが、何も機能しません。

現在のコードは次のとおりです。

#!/bin/bash

mkdir {folder1,folder2,'another folder'}

for f in $(ls -d -- */); do echo "---
tags: tag1, tag2
---" >> "$f"/mdfile.md; done

ベストアンサー1

使用する必要がないかls一度流通中。出力はls表示専用です。

#!/bin/bash

mkdir folder1 folder2 'another folder' 

for f in */; do
    cat >>"$f"/mdfile.md <<END
---
tags: tag1, tag2
---
END
done

関連:

おすすめ記事