相关疑难解决方法(0)

访问bash命令行args $ @ vs $*

在许多SO问题和bash教程中,我看到我可以通过两种方式访问​​bash脚本中的命令行参数:

$ ~ >cat testargs.sh 
#!/bin/bash

echo "you passed me" $*
echo "you passed me" $@
Run Code Online (Sandbox Code Playgroud)

结果如下:

$ ~> bash testargs.sh arg1 arg2
you passed me arg1 arg2
you passed me arg1 arg2
Run Code Online (Sandbox Code Playgroud)

$*和之间有什么区别$@
应该何时使用前者,何时使用后者?

bash command-line-arguments

298
推荐指数
4
解决办法
18万
查看次数

我刚刚分配了一个变量,但echo $ variable显示了其他内容

以下是一系列echo $var可以显示与刚刚分配的值不同的值的情况.无论指定的值是"双引号","单引号"还是不引用,都会发生这种情况.

如何让shell正确设置我的变量?

星号

预期的输出是/* Foobar is free software */,但我得到一个文件名列表:

$ var="/* Foobar is free software */"
$ echo $var 
/bin /boot /dev /etc /home /initrd.img /lib /lib64 /media /mnt /opt /proc ...
Run Code Online (Sandbox Code Playgroud)

方括号

期望值是[a-z],但有时我会得到一个字母!

$ var=[a-z]
$ echo $var
c
Run Code Online (Sandbox Code Playgroud)

换行(换行符)

预期值是一个单独的行列表,但所有值都在一行!

$ cat file
foo
bar
baz

$ var=$(cat file)
$ echo $var
foo bar baz
Run Code Online (Sandbox Code Playgroud)

多个空间

我期望一个精心对齐的表头,但是多个空格要么消失要么折叠成一个!

$ var="       title     |    count"
$ echo $var
title | count
Run Code Online (Sandbox Code Playgroud)

标签

我期望两个制表符分隔值,但我得到两个空格分隔值!

$ …
Run Code Online (Sandbox Code Playgroud)

bash shell sh quoting

87
推荐指数
4
解决办法
15万
查看次数

cygwin 显示错误的括号

您好,我在 Win10 机器上安装了 cygwin 版本 3.1.5。例如,当我使用 Maven 时,输出并不正确。方括号的显示方式是错误的。这是一个例子

[?[1;34mINFO?[m] ?[1m------------------------------------------------------------------------?[m
[?[1;34mINFO?[m] ?[1;32mBUILD SUCCESS?[m
[?[1;34mINFO?[m] ?[1m------------------------------------------------------------------------?[m
[?[1;34mINFO?[m] Total time:  2:42 min
[?[1;34mINFO?[m] Finished at: 2020-06-10T15:26:07+02:00
[?[1;34mINFO?[m] ?[1m------------------------------------------------------------------------?[m
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚这是否可能是区域设置问题,因为我不明白如何更改它以及是否确实存在问题。你们中有人有一些建议吗?

更新-11.06.2020

我发现可能是maven版本的问题。对我来说这听起来很奇怪。我运行maven版本3.6.3: https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000687110-Using-Mingw-as-terminal-doesn-t-display-ANSI-colors- Maven 内输出

多谢

cygwin intellij-idea maven

4
推荐指数
1
解决办法
1052
查看次数