Glenn Jackman <jack...@pythian.com> writes: > First, if the error message is "should be in an empty directory", then > why is a empty 2nd argument part of that test?
Well, it is actually "should be empty unless the more than 1 argument is given", so what's in need of a fix is the error message. > I would test for empty directory like: > > set files * .* > if test (count $files) != 0; echo error; end > > And to test for empty parameters, use `set -q` > > if not set -q argv[2]; echo "argv[2] is empty"; end Ah, I did not know set -q so far and would not have looked for it because it's a bit like an oxymoron. :-) Thanks, Tassilo > On Tue, Mar 5, 2019 at 8:59 AM Tassilo Horn <t...@gnu.org> wrote: > >> Hi all, >> >> in a script, I have this code: >> >> --8<---------------cut here---------------start------------->8--- >> if test \( (count (ls -A .)) != "0" \) -a \( -z $argv[2] \) >> echo "This should be run in an empty directory." >> exit 3 >> end >> --8<---------------cut here---------------end--------------->8--- >> >> It errors with: >> >> test: Expected a combining operator like '-a' at index 4 >> >> I don't see what's wrong here. Do you? >> >> Of course, feel free to suggest a better way to encode that this script >> must be run in an empty directory unless there are at least two >> arguments given. >> >> And also I find it strange that the script runs although I get the >> (syntax?) error above. With both Bash and ZSH, syntactical nonsense >> like >> >> if [[ -a -z 1/1 ]]; then echo Yes; fi; echo Running >> >> does not print Running and returns exit code 2 whereas fish's equivalent >> >> if test -a -z !; echo Yes; end; echo Running >> >> prints Running and returns zero. In this case, I think the Bash/ZSH >> behavior is much better. A syntax error should not be treated as simply >> a false expression. >> >> I'm running fish 3.0.1. >> >> Thanks, >> Tassilo >> >> >> >> _______________________________________________ >> Fish-users mailing list >> Fish-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/fish-users >> > > > -- > *Glenn Jackman* > Senior Software Developer > > *Pythian - Love your data* > jack...@pythian.com > Tel: +1 613 565 8696 Ext. 1478 > Mobile: +1 613 808 4984 > www.pythian.com _______________________________________________ Fish-users mailing list Fish-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fish-users