同じシェルスクリプトで自動的に作成されたフォルダにファイルをコピーする方法

同じシェルスクリプトで自動的に作成されたフォルダにファイルをコピーする方法

シェルスクリプトを使用して、プロジェクトのサブフォルダーを含む新しいフォルダーを作成するAutomatorアプリケーションを作成しました。アプリケーションは最初にプロジェクト名と場所(ディレクトリ)を尋ね、一度作成されると、新しく作成されたプロジェクトフォルダが開きます。

たとえば、

ここに画像の説明を入力してください。

これまでは期待どおりに機能しましたが、一部のファイルをサブフォルダに自動的に追加しようとしましたが、フリーズして解決策を見つけることができませんでした。

既定では、他のフォルダのファイルを新しく作成されたサブフォルダの1つにコピーしようとします(主に)、次の2つのエラーが発生します。

  1. 「シェルスクリプトの実行」操作でエラーが発生しました:「使用法:cp [-R [-H | -L | -P]] [-fi | -P]] -n] [-apvXc]ソースファイルターゲットファイルcp [ - R [-H | -L | -P]] [-fi -P]] -n] [-apvXc] ソースファイル... ターゲットディレクトリ" 使用法: cp [-R | -L | - P]] [-fi | -P]] -n] [-apvXc] ソースファイル ターゲットファイル cp [-R [-H | -P]] [-fi | apvXc]ソースファイル...ターゲットディレクトリ

  2. 「シェルスクリプトの実行」操作で「cp:/path/to/sourcefile/file.pdf:そのファイルまたはディレクトリがありません」というエラーが発生しました。

    これが私が持っているものです:

ここに画像の説明を入力してください。

mkdir "$1/$2"
mkdir "$1/$2/Guides_and_Bulletins"
mkdir "$1/$2/Pictures"
mkdir "$1/$2/Schematics"
mkdir "$1/$2/Schematics/Calculator"
mkdir "$1/$2/Schematics/As_built"
mkdir "$1/$2/Site_Docs"

cp "/path/to/sourcefile/file.pdf" "/$1/$2/Guides_and_Bulletins/file.pdf"

この例では、上記の操作で特定の場所で新しく作成されたGuides_and_Bulletinsサブフォルダにfile.pdfをコピーしようとしましたが、当然動作しませんでした。

どんな助けでも大変感謝します!ありがとう

注:もちろん、パスをcpに変更しています。"/パス/to/sourcefile/file.pdf"「$1/$2/Guides_and_Bulletins/」を正しい場所に

ベストアンサー1

ディレクトリを作成しました。

mkdir "$1/$2"

ただし、ファイルを別のディレクトリにコピーしようとしています。

cp "/path/to/sourcefile/file.pdf" "/$1/$2/Guides_and_Bulletins/file.pdf"

努力する:

cp "/path/to/sourcefile/file.pdf" "$1/$2/Guides_and_Bulletins/file.pdf"

また、スクリプトを一部簡素化することもできます。

mkdir -p "$1/$2/Guides_and_Bulletins" \
         "$1/$2/Pictures" \
         "$1/$2/Schematics" \
         "$1/$2/Schematics/Calculator" \
         "$1/$2/Schematics/As_built" \
         "$1/$2/Site_Docs"

cp "/path/to/sourcefile/file.pdf" "$1/$2/Guides_and_Bulletins/"

おすすめ記事