linux - linux shell脚本中的$@和$*有什么区别?

标签 linux shell

<分区>

在《Linux Shell Scripting Cookbook》一书中

它说 $@ 扩展为 $1$2$3 等等,$ * 扩展为 $1c$2c$3,其中 cIFS 的第一个字符。

$@$* 有什么区别,IFS 是什么意思?

最佳答案

IFS 是内部字段分隔符,它基本上表示 shell 识别为分隔单词的内容。

所以要运行下面的命令

IFS=$'\n'

会使 shell 将新行识别为分隔符。

$ 是赋值给变量的符号

但是,这些数字是为脚本输入保留的。

所以 $1 将是一个变量输入,$2 将是第二个变量输入。

$@ 是传递给脚本的所有参数。

所以如果你运行命令

bash command.sh bork woof meow

这将是上面列出的变量的值

  $1 = bork
  $2 = woof
  $3 = meow
  $@ = bork woof meow

关于linux - linux shell脚本中的$@和$*有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45689524/

相关文章:

c++ - clock_gettime() 返回错误的结果(VirtualBox 上的 Debian wheezy)

linux - Raspbian 启动时自动运行命令

bash - "ls -1 path"中的-1是什么意思?

regex - 在 Shell 中提取匹配模式后的字符串

Linux shell : how to call programs after a while

linux - 如何使用完整路径从 bash 运行 resque 启动脚本

linux - 替换 XML 中的值

linux - 设置SSL/需要先设置邮件

c - 如何用C实现一个简单的telnet客户端向服务器发送命令

linux - Tcsh 脚本不退出