1

I'm using fish and I'm trying to activate a virtual env, so I tried "source" command which apparently is not available in fish. And I ended up with this link which says:

". (a single period) is an alias for the source command. The use of . is deprecated in favour of source, and . will be removed in a future version of fish."

I've tried ". /home/tax/venv/shopify-env/bin/activate" which is also not working; and this is the error:

fish: Illegal command name “}”
/home/tax/venvs/shopify-env/bin/activate (line 37): }
                                                    ^
in . (source) call of file “/home/tax/venvs/shopify-env/bin/activate”,
    called on standard input,

fish: Could not locate end of block. The “end” command is missing, misspelled or a “;” is missing.
/home/tax/venvs/shopify-env/bin/activate (line 78): if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then
                                                    ^
in . (source) call of file “/home/tax/venvs/shopify-env/bin/activate”,
    called on standard input,


       if - conditionally execute a command

   Synopsis
       if CONDITION; COMMANDS_TRUE...; [else if CONDITION2;
       COMMANDS_TRUE2...;] [else; COMMANDS_FALSE...;] end

   Description
       if will execute the command CONDITION. If the condition's exit status
       is 0, the commands COMMANDS_TRUE will execute. If the exit status is
       not 0 and else is given, COMMANDS_FALSE will be executed.

       In order to use the exit status of multiple commands as the condition
       of an if block, use begin; ...; end and the short circuit commands and
       and or.

       The exit status of the last foreground command to exit can always be
       accessed using the $status variable.

   Example
       if test -f foo.txt
            echo foo.txt exists
       else if test -f bar.txt
            echo bar.txt exists
       else
            echo foo.txt and bar.txt do not exist
       end

       will print foo.txt exists if the file foo.txt exists and is a regular
       file, otherwise it will print bar.txt exists if the file bar.txt exists
       and is a regular file, otherwise it will print foo.txt and bar.txt do
       not exist.

.: Error while reading file “/home/tax/venvs/shopify-env/bin/activate” 

Both "source" and "." commands are working fine in bash.

Am I using the wrong command? Is the "." command removed from fish? or what?

  • 2
    fish cannot source a bash script. Is /home/tax/venv/shopify-env/bin/activate a fish script or bash? – glenn jackman Aug 11 '14 at 10:25
  • it's a bash script. And now I've noticed that it's mentioned in script's comments that I have to run it in bash. thanks. I guess I shouldn't expect any other answer. – Taxellool Aug 11 '14 at 10:43
0

Is the "." command removed from fish? or what?

And in the excerpt you've quoted:

The use of . is deprecated in favour of source, and . will be removed in a future version of fish.

I think it answers your question.

Internet is an archive. Some statements may have been true at the time of writing and weren't updated. The "future version of fish" may now be a current version.

  • Shouldn't another alternative command be available when something is removed? What can I use now? – Taxellool Aug 11 '14 at 9:41
  • source. The use of . is deprecated in favour of source – gronostaj Aug 11 '14 at 10:12
  • " so I tried "source" command " I've mentioned that too. – Taxellool Aug 11 '14 at 10:21
  • That's strange. Docs (your link redirects there) say source is available and there's even an example. This discussion states that source is not available, but it's 2 years old. What happens if you run some script through source? (use a script that is confirmed to work fine) – gronostaj Aug 11 '14 at 10:28
  • 1
    It says: fish: Unknown command “source” , but I think @glenn jackman's comment explained it. fish can't source a bash script and what I'm trying is a bash script. Thanks for the answer. – Taxellool Aug 11 '14 at 10:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.