からの出力を使用しmdfind
て、一連のシンボリックリンクを作成しようとしています。の出力mdfind
は次のようになります。
/ pathtofile1 /
/ pathtofile2 /
/ pathtofile3 /
それで、私は各行の先頭sed
に追加していました、そして;ln -s
awk {print $0 "/directory where I want this/"}
私の1行のスクリプトがこれを正常に出力した後:
ln -s "/ pathtofile1 /" "/ directory where I want this"
ln -s "/ pathtofile2 /" "/ directory where I want this"
ln -s "/ pathtofile3 /" "/ directory where I want this"
問題は、これを実行すると、次のエラーが発生することです:「これが必要な/ディレクトリ:ファイルが存在しません」
奇妙なことに、これらの行を個別に実行すると、リンクは期待どおりに作成されますが、コマンド全体を実行すると、上記のエラーが返されます。
何か案は?
これが私がやろうとしていることを行うための理想的な方法だとは思わないので、もっと良い解決策があれば教えてください。
詳細情報で編集。
#! /bin/bash
itemList=`mdfind -s "$1"| awk '{ print "ln -s \""$0"\" \"/Users/username/Local/Recent\""}'`
echo "$itemList"
`$itemList`
$ 1は、ファイルのリストを返すテスト*.savedSearchです。
私の結果(エコーから)は次のとおりです。
ln -s "/Users/username/Dropbox/Document.pdf" "/Users/username/Local/Recent"
ln -s "/Users/username/Dropbox/Document2.pdf" "/Users/username/Local/Recent"
そして、私が得るエラーは次のとおりです。
ln: "/ Users / username / Local / Recent":そのようなファイルまたはディレクトリはありません
ただし、各行のコピー貼り付けを個別に実行すると、リンクは期待どおりに作成されます。