在bash中,下划线变量后跟范围是什么意思:$ _ {0..10}

香港

根据tldp.org,bash下划线变量为:

underscore变量是在shell启动时设置的,包含在参数列表中传递的正在执行的shell或脚本的绝对文件名。随后,在扩展后,它扩展为上一个命令的最后一个参数。它还设置为执行的每个命令的完整路径名,并放置在导出到该命令的环境中。检查邮件时,此参数保存邮件文件的名称。


但是这个答案,我怎么能重复Bash的一个人物?奇怪地使用了它:

# exactly the same as perl -E 'say "=" x 100'.
echo -e ''$_{1..100}'\b='

试着使用这个变量,我不能从其语义上做任何事情,所以问题是

  • 一个字符串。
  • 其次是$_
  • 随后范围扩大。
  • 后跟另一个字符串

意味着什么?

样品:

$ echo $_{0..10}         ; echo $_{0..10} | wc

      1       0       1


$ echo ''$_{0..10}''     ; echo ''$_{0..10}'' | wc

      1       0      11


$ echo ''$_{0..10}'x'    ; echo ''$_{0..10}'x' | wc
x x x x x x x x x x x
      1      11      22


$ echo 'x'$_{0..10}''    ; echo 'x'$_{0..10}'' | wc
x x x x x x x x x x x
      1      11      22


$ echo 'ab'$_{0..10}'cd' ; echo 'ab'$_{0..10}'cd' | wc
abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd
      1      11      55
约翰·库格曼
echo $_{0..10}

括号被扩展为:

echo $_0 $_1 $_2 $_3 $_4 $_5 $_6 $_7 $_8 $_9 $_10

它打印11名为奇怪的命名变量的值_0_1_2,等等。他们没有设置-这就是为什么您什么都看不到的原因-但是如果设置了,您将:

$ _0=zero _1=one _2=two _3=three _4=four _5=five _6=six _7=seven _8=eight _9=nine _10=ten
$ echo $_{0..10}
zero one two three four five six seven eight nine ten

$ echo ''$_{0..10}'x'

同样,但是x每个变量名后面都有一个。它不是变量名称的一部分。这是一个单独的文字字符x,就像您写的一样:

echo ${_0}x ${_1}x ${_2}x ${_3}x ${_4}x ${_5}x ${_6}x ${_7}x ${_8}x ${_9}x ${_10}x

现在,当变量具有值时,输出为:

$ _0=zero _1=one _2=two _3=three _4=four _5=five _6=six _7=seven _8=eight _9=nine _10=ten
$ echo ''$_{0..10}'x'
zerox onex twox threex fourx fivex sixx sevenx eightx ninex tenx

这应该足以理解您问题中的其他示例。

它还表明,链接的答案是重复字符串的不良方法。它依赖于未设置的这些变量。不建议。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

$ {_ [0]}在bash中是什么意思?

来自分类Dev

$ {_ [0]}在bash中是什么意思?

来自分类Dev

在C中-if(ptr-> name&0x10)是什么意思

来自分类Dev

下划线“ _”在Swift中是什么意思?

来自分类Dev

Spock测试中的_(下划线)是什么意思?

来自分类Dev

下划线在Swift中是什么意思?

来自分类Dev

PHP中的双下划线是什么意思?

来自分类Dev

memset(foo->a+foo->b, 0, 10) 是什么意思?

来自分类Dev

Bash shell中的$ 0是什么意思

来自分类Dev

在bash中,dir = $ {0%/ *}是什么意思?

来自分类Dev

在init()中Swiftui中的变量之前,下划线是什么意思?

来自分类Dev

10 **在Fortran中是什么意思?

来自分类Dev

sed中的\ 0是什么意思?

来自分类Dev

在PHP中,为什么10&10 == 10返回0?

来自分类Dev

awk'/ matched /,0'文件中的0是什么意思?

来自分类Dev

replace('\0','0') 是什么意思?

来自分类Dev

-d 0/0 是什么意思?

来自分类Dev

函数范围(len(sequence)-1,0,-1)中的数字是什么意思?

来自分类Dev

的IntelliJ - 粉红色下划线的变量...这是什么意思?

来自分类Dev

两个变量之间的下划线是什么意思?

来自分类Dev

dev [0] [(0,0)] [0]是什么意思?

来自分类Dev

下划线作为C中的参数是什么意思?

来自分类Dev

javascript函数参数中的下划线是什么意思?

来自分类Dev

Angular JS测试依赖注入中的下划线是什么意思

来自分类Dev

PAWN中功能前面的下划线是什么意思?

来自分类Dev

在dart / flutter中调用函数时传递下划线_“ _”(_)是什么意思?

来自分类Dev

Django表单中的标签值前的下划线是什么意思

来自分类Dev

Angular JS测试依赖注入中的下划线是什么意思

来自分类Dev

PAWN中功能前面的下划线是什么意思?

Related 相关文章

  1. 1

    $ {_ [0]}在bash中是什么意思?

  2. 2

    $ {_ [0]}在bash中是什么意思?

  3. 3

    在C中-if(ptr-> name&0x10)是什么意思

  4. 4

    下划线“ _”在Swift中是什么意思?

  5. 5

    Spock测试中的_(下划线)是什么意思?

  6. 6

    下划线在Swift中是什么意思?

  7. 7

    PHP中的双下划线是什么意思?

  8. 8

    memset(foo->a+foo->b, 0, 10) 是什么意思?

  9. 9

    Bash shell中的$ 0是什么意思

  10. 10

    在bash中,dir = $ {0%/ *}是什么意思?

  11. 11

    在init()中Swiftui中的变量之前,下划线是什么意思?

  12. 12

    10 **在Fortran中是什么意思?

  13. 13

    sed中的\ 0是什么意思?

  14. 14

    在PHP中,为什么10&10 == 10返回0?

  15. 15

    awk'/ matched /,0'文件中的0是什么意思?

  16. 16

    replace('\0','0') 是什么意思?

  17. 17

    -d 0/0 是什么意思?

  18. 18

    函数范围(len(sequence)-1,0,-1)中的数字是什么意思?

  19. 19

    的IntelliJ - 粉红色下划线的变量...这是什么意思?

  20. 20

    两个变量之间的下划线是什么意思?

  21. 21

    dev [0] [(0,0)] [0]是什么意思?

  22. 22

    下划线作为C中的参数是什么意思?

  23. 23

    javascript函数参数中的下划线是什么意思?

  24. 24

    Angular JS测试依赖注入中的下划线是什么意思

  25. 25

    PAWN中功能前面的下划线是什么意思?

  26. 26

    在dart / flutter中调用函数时传递下划线_“ _”(_)是什么意思?

  27. 27

    Django表单中的标签值前的下划线是什么意思

  28. 28

    Angular JS测试依赖注入中的下划线是什么意思

  29. 29

    PAWN中功能前面的下划线是什么意思?

热门标签

归档