automator中のcdでno such file or directory

automatorで以下のようなworkflowを作ろうとしているのですが、

cd “$dir”

のところで、エラーになってしまいます。

error:

cd:9 no such file or directory: """/Users/AAA/Downloads"


script:

export LANG=ja_jP.UTF-8

pwd=`pwd`

for f in “$@“

do

dir=`dirname ‘$f’`

file=`basename “$f”`

echo “$dir”

echo “$file”

cd “$dir”

zip -r $file $file

cd “$pwd”

done


素直に書いたつもりでしたが、どこが問題か分からずに困っています。

ご教授よろしくお願いします。


シェル: /bin/zsh <- /bin/bashでも同じ結果でした。

入力の引き渡し方法: 引数として

引数: /Users/AAA/Downloads/BBB/


echo の結果:

"""/Users/AAA/Downloads"

"BBB"""


""の数が多いような気がするのですが、何でしょうね…

投稿日 2014/01/17 22:44

返信
返信: 13

2014/01/18 00:22 Hiro__S への返信

シングルコーテーションとダブルコーテーションが正しく書かれてないので、


勝手に補足。OS X Mavericksでは、「システム環境設定」>「キーボード」>「ユーザ辞書」にある「スマート引用符とスマートダッシュを使用」という項目のチェックを外し、二重引用符:"abc"、一重引用符:'abc' に変更しておかないとautomator内での入力では文字置換が勝手に行われスクリプトが正常に動作しないので要注意です。

#バグといってもいいレベルの余計なお世話仕様ですよね・・・ (^^;;

2014/01/18 00:37 HAL への返信

勝手に補足。OS X Mavericksでは、「システム環境設定」>「キーボード」>「ユーザ辞書」にある「スマート引用符とスマートダッシュを使用」という項目のチェックを外し、二重引用符:"abc"、一重引用符:'abc' に変更しておかないとautomator内での入力では文字置換が勝手に行われスクリプトが正常に動作しないので要注意です。


こちらもやってみました。ありがとうございます。

ただこのスクリプトでは、チェックありなし影響ないようでした。

""全部はずしたせいかもですね…

2014/01/18 00:40 imudak への返信

再掲: スペース入のパスが気になりますが、全部""を外してみたらとりあえず動作しました。


ダブルクォーテーションが "xxx" ではなく “xxx” と置換されてしまっているのが原因です。設定を見直して再入力してみてください。

追記:設定を変更後、アプリケーションを再起動する必要があるかもしれません。

2014/01/18 00:49 HAL への返信

ご指摘のように変更したところ、""付きでも動くようになりました。ありがとうございました。

しかし、すごい罠ですね…


export LANG=ja_jP.UTF-8

pwd=`pwd`

for f in "$@"

do

dir=`dirname "$f"`

file=`basename "$f"`

echo "$dir"

echo "$file"

cd "$dir"

zip -r "$file" "$file"

cd "$pwd"

done



ちなみに、""入れなくてもスペース入のパスも処理してくれるようですね。

/Users/A A A/Downloads/B B B/


気持ち悪いので""入りにしておきますが…


追記: アプリケーションの立ち上げは不必要でした。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

automator中のcdでno such file or directory

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。