我已经使用Cygwin很长一段时间了.我现在想切换到bash的鱼.每个人都说你应该使用chsh -s /usr/bin/fish,但由于某种原因,chsh对我不起作用.尝试修改我的Cygwin.bat文件也不起作用,也没有更改我的/etc/passwd文件.
我真的不明白发生了什么.有人可以帮帮我吗?
我正在创建一个函数(下面),您可以使用该函数提供参数,目录.我测试是否$argv是带-d选项的目录,但似乎不起作用,即使没有提供参数,它也总是返回true.我也试过test -n $argv -a -d $argv测试是$argv空的刺,但是返回test: Missing argument at index 1错误.我该如何测试函数是否提供了任何参数?为什么test -d $argv不工作,根据我的理解,当没有提供参数时它应该是假的,因为空字符串不是目录.
function fcd
if test -d $argv
open $argv
else
open $PWD
end
end
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
在bash shell中,我可以echo $?获取在cli上运行的程序的退出代码.鱼壳中的等价物是什么?似乎无法在文档中找到这个.
我该怎么办呢
set variable (some_command_that_may_return_a_string)
if [ variable is set ]
do_something
Run Code Online (Sandbox Code Playgroud)
反过来如何检查变量是否为空?
我正在将一个脚本从Z shell翻译成Fish,我有一部分我无法弄清楚如何翻译:
for (( i=0; i < $COLUMNS; i++ )); do
printf $1
done
Run Code Online (Sandbox Code Playgroud)
for我在Fish中可以找到的循环的唯一文档就是这种.我怎么会在Fish中这样做?
我想用bash做什么:
> if true; then echo y; else echo n; fi
y
> if false; then echo y; else echo n; fi
n
> if false || true; then echo y; else echo n; fi
y
Run Code Online (Sandbox Code Playgroud)
现在尝试用鱼:
> if true; echo y; else; echo n; end
y
> if false; echo y; else; echo n; end
n
# Here 'or true' are just two arguments for false
> if false or true; echo y; else; echo n; end
n
# …Run Code Online (Sandbox Code Playgroud) 我在这里关注golang文档的"如何编写代码"部分.我也用鱼壳贝壳.
我已经按照教程设置了适当的环境变量(GOPATH和PATH)但是我无法使用命令go install github.com/user/hello来处理我的安装.
我收到一个错误:
无法加载包:github.com/user/hello:import"github.com/user/hello":找不到包
有没有办法在鱼壳里virtualenvwrapper工作?尝试运行virtualenvwrapper命令时workon,我收到以下错误:
fish: Unknown command 'workon'
Run Code Online (Sandbox Code Playgroud)
当我跑
source /usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)
我从一开始就遇到很长的错误:
fish: Expected a command name, got token of type 'Run job in background'. Did you mean 'COMMAND; and COMMAND'? See the help section for the 'and' builtin command by typing 'help and'.
/usr/local/bin/virtualenvwrapper.sh (line 67): if [ "$OS" = "Windows_NT" ] && [ "$MSYSTEM" = "MINGW32" ]
Run Code Online (Sandbox Code Playgroud)
并以:结尾
source: Error while reading file '/usr/local/bin/virtualenvwrapper.sh'
Run Code Online (Sandbox Code Playgroud) 如何在函数中为fish shell添加注释?是不是//.我似乎无法分辨.当我使用时//,有时当函数失败时,它会将用户更改为根目录.