Thanks for your reply. Jonas Meurer writes ("Re: [pkg-cryptsetup-devel] Bug#597583: initramfs-tools"): > On 21/09/2010 Ian Jackson wrote: > > This could be done by replacing this test > > if [ -n "$cryptkeyscript" ] && [ ! -x "$cryptkeyscript" ]; then > > with something like > > if ! type "$cryptkeyscript >/dev/null; then > > with the added benefit of getting a slightly better error message too. > > While I like your idea, it doesn't work. $cryptkeyscript might contain a > whole commandline, with arguments and options as well. Actually the > initramfs cryproot script even does it that way. See line 270 of the > script: > > cryptkeyscript="plymouth ask-for-password --prompt"
It's been a while since I looked at this, and I don't have the code in front of me, but I'm puzzled, because if cryptkeyscript="plymouth ask-for-password --prompt" then if [ -n "$cryptkeyscript" ] && [ ! -x "$cryptkeyscript" ]; then would be true, just like my proposed test if ! type "$cryptkeyscript" >/dev/null; then (err, with the syntax fixed...) $ cryptkeyscript="plymouth ask-for-password --prompt" $ if [ -n "$cryptkeyscript" ] && [ ! -x "$cryptkeyscript" ]; then echo y; fi y $ if ! type "$cryptkeyscript" >/dev/null; then echo y; fi bash: type: plymouth ask-for-password --prompt: not found y $ > That one clearly doesn't work with type, as type checks for all > arguments, and errors out for the second and third one. The same is true for test -x. Ian. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org