- 締切済み
expectでfor文のあるシェルファイルの記述について
expect を使用しているAシェル内で、Bシェルを実行しています。(成功しています。) が、作成されたファイルのユーザを揃えたいため、 Aシェル内にBシェルの内容を記述したいと思っています。 Aシェルファイルでのfor文の記述と、 変数を受け取る方法がわからないため、エラーになってしまっています。 expect文内のfor文の記述と変数の受け取り方などおしえてください。 よろしくお願いいたします。 ------------------Aシェルファイル--------------------- #!/bin/sh set timeout -1 spawn su - ユーザ名 set prompt ".*ユーザ名.*" sleep 1 expect "Password:" send "パスワード\n" expect -re $prompt sleep 1 send "/パス/rename.sh\n" expect -re $prompt send "echo /var/www/html/パス/tokyo/*/*.jpg | xargs /usr/bin/mogrify -resize 500x -quality 100\n" expect -re $prompt send "exit\n" --------------------------------------- ------------------Bシェルファイル--------------------- #!/bin/sh declare -i i=1 for dirlist in `ls -l /var/www/html/パス/tokyo/ | awk '$1 ~ /d/ {print $9 }' ` do rm -rf /var/www/html/パス/$dirlist/small mkdir /var/www/html/パス/$dirlist/small done ---------------------------------------
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
そもそも expect + su でなく、sudo を使うことは検討されましたか? あと、ファイルA はシェルスクリプトじゃなくて、expectスクリプトのように見えますが。