subshell

    2热度

    4回答

    问题: 下面的脚本代码不会产生预期的结果: # MYSQL, MyUSER MyHost etc ... all defined above as normal TARG_DB="zztest"; DB_CREATE="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'create database $TARG_DB')"; 预期成果: 创建一

    9热度

    2回答

    据我所知,有两种方法可以在bash函数中创建局部变量:创建一个子shell或将每个变量声明为本地变量。 例如: # using local function foo { local count for count in $(seq 10) do echo $count done } 或 # using subshell function

    4热度

    1回答

    我想用python子进程模块使用subhells和重定向的魔力,但它似乎不起作用,抱怨意外的令牌是括号。例如,当传递到子命令 cat <(head tmp) 给出了这样的 >>> subprocess.Popen("cat <(head tmp)", shell=True) <subprocess.Popen object at 0x2b9bfef30350> >>> /bin/sh: -c:

    8热度

    2回答

    编辑: 下面关于sed '[email protected]^@ @' <(f1)我的评论是不正确 虽然$BASH_SUBSHELL表明我们是在同一水平发射,变量在主脚本丢失。 基于戈登答案我测试了f1 > >(sed '[email protected]^@ @')而不是这似乎工作正常。但是,对于第一种形式,不应该BASH_SUBSHELL为1而不是0? 考虑这个小测试 #!/bin/bash

    3热度

    3回答

    我在apache2中运行一个带有外部重写程序(prg)的重写映射,可能会产生错误并死亡。 当重写映射不再运行时,系统显然无法正常工作。 所以我想开始本身进行地图程序(这是用PHP编写的),并重新启动它,如果它死了一个简单的包装外壳脚本: #!/bin/bash until /usr/bin/php /somepath/mymap.php; do echo "map died but i

    0热度

    3回答

    看来子shell不检索“$ @”的结果,所以没有任何可替代的东西。 %_bust.css: %.css @echo $(echo [email protected] | sed s/_bust/$(BUSTER)/g)

    16热度

    6回答

    一个人为的例子...给出 FOO="/foo/bar/baz" 这工作(在bash) BAR=$(basename $FOO) # result is BAR="baz" BAZ=${BAR:0:1} # result is BAZ="b" 这并不 BAZ=${$(basename $FOO):0:1} # result is bad substitution 我的问题是哪个规则导

    10热度

    1回答

    比方说,我有一个bash函数 Yadda() { # time-consuming processes that must take place sequentially # the result will be appended >> $OUTFILE # $OUTFILE is set by the main body of the script # N

    3热度

    2回答

    我写了下面的代码现在 var=0 cat $file | while read line do var=$line done echo $var 据我了解管道(|)将导致一个子shell中创建的,因此上线变量var 1将在最后一行具有相同的值。 然而,这将解决这个问题: var=0 while read line do var=$line done < $file

    -1热度

    1回答

    我想执行一个java程序形式我的红宝石代码。 我的代码是这样的: cmd = "java -cp \"path/lib/*\" com.blah.blah" # %x[#{cmd}] # `#{cmd}` # Kernel.system(cmd) Kernel.exec(cmd) 我的问题,就是命令不会在任何方式成功运行。我知道%x,反引号运行在一个子shell中,所以可能