Fish Shell – Run Command Only If Previous Command Was Successful

fish

Using Bash I've often done things like cd /study && ls -la
I understand that the double ampersand is telling the terminal don't execute part two of this command unless part one completes without errors.

My question is, Having just moved to the Fish shell and trying the same command I get an error stating I can't use && and instructing me to use a single & which I believe backgrounds the task which isn't what I want.

Can anyone tell me the correct syntax to run my old Bash command in the Fish shell?

Best Answer

Instead of &&, which doesn't exist in fish, use ; and the command and:

cd /study; and ls -la

According to the fish tutorial:

Unlike other shells, fish does not have special syntax like && or || to combine commands. Instead it has commands and, or, and not.

Related Question