小编oxn*_*xnz的帖子

shell $ @变量分配和迭代

function f() {
    for arg; do
        echo "$arg"
    done
}

f 'hello world' 'second arg' '3rdarg'
Run Code Online (Sandbox Code Playgroud)

这工作正常:

hello world
second arg
3rdarg
Run Code Online (Sandbox Code Playgroud)

但是我什么时候分配$@一些变量,然后出错:

function f() {
    local args="$@"
    for arg in "$args"; do
        echo "$arg"
    done
}
Run Code Online (Sandbox Code Playgroud)

输出:

hello world second arg 3rdarg
Run Code Online (Sandbox Code Playgroud)

当我取消对的$args引用时,则每个参数都被拆分成一个单词:

hello
world
second
arg
3rdarg
Run Code Online (Sandbox Code Playgroud)

最后,我想知道是否存在定义$ @之类的变量的方法。任何答复将不胜感激。

bash shell sh

6
推荐指数
1
解决办法
799
查看次数

加入查询优化

最近我想出了一些mysql性能问题,这里是查询:

select
        assoc.id                    as id,
        parentNode.id               as parentNodeId,
        parentNode.version          as parentNodeVersion,
        parentStore.protocol        as parentNodeProtocol,
        parentStore.identifier      as parentNodeIdentifier,
        parentNode.uuid             as parentNodeUuid,
        childNode.id                as childNodeId,
        childNode.version           as childNodeVersion,
        childStore.protocol         as childNodeProtocol,
        childStore.identifier       as childNodeIdentifier,
        childNode.uuid              as childNodeUuid,
        assoc.type_qname_id         as type_qname_id,
        assoc.child_node_name_crc   as child_node_name_crc,
        assoc.child_node_name       as child_node_name,
        assoc.qname_ns_id           as qname_ns_id,
        assoc.qname_localname       as qname_localname,
        assoc.is_primary            as is_primary,
        assoc.assoc_index           as assoc_index


    from
        alf_child_assoc assoc
        join alf_node parentNode on (parentNode.id = assoc.parent_node_id)
        join alf_store parentStore on (parentStore.id = parentNode.store_id)
        join alf_node childNode on (childNode.id = assoc.child_node_id) …
Run Code Online (Sandbox Code Playgroud)

mysql sql join inner-join query-optimization

6
推荐指数
1
解决办法
250
查看次数

在FreeBSD/bin /和/ usr/bin中返回vs退出

我注意到FreeBSD代码/bin并且/usr/bin有一些修复使用exit而不是return,这是什么意思?

我所有的想法都是return声明可能导致vfork(2)损坏堆栈帧,这是唯一的原因吗?如果这是真的,那么为什么只是在命令部分/bin/usr/bin得到修复,不是所有的人?

c freebsd return exit

5
推荐指数
1
解决办法
145
查看次数

是否可以在不调用诸如date之类的外部命令的情况下获得时间戳?

zsh内置函数print具有-P执行快速扩展的选项,可用于获取当前时间。我想知道是否还有其他方法可以实现这一目标?那其他的壳呢?

bash shell zsh tcsh

3
推荐指数
1
解决办法
85
查看次数

`my($ h,@ s)= @_;`和`my($ h,@ ss)= grep $ _,@ _之间的区别是什么?

我在一本名为'High-order Perl`的书中读到了这段代码,我只是不明白为什么要使用grep,但如果我改成第一个语句,事情就会出错,有人可以解释一下吗?谢谢.

上下文:代码位于第6章和第5节中

sub union {
my ($h, @s) = grep $_, @_;
  return unless $h;
  return $h unless @s;
  node(head($h), promise {
  union(@s, tail($h));
 });
}
Run Code Online (Sandbox Code Playgroud)

perl grep

2
推荐指数
1
解决办法
123
查看次数

标签 统计

bash ×2

shell ×2

c ×1

exit ×1

freebsd ×1

grep ×1

inner-join ×1

join ×1

mysql ×1

perl ×1

query-optimization ×1

return ×1

sh ×1

sql ×1

tcsh ×1

zsh ×1