如果说我需要在一个脚本中使用经过经过另一个脚本处理的变量值如 a.csh #!/bin/csh set x="hello" set y=`b.csh $x` 在b.csh中我要如何返回经过处理的值呢,不是说子进程处理的变量不会影响到父进程吗,我要如何处理呢,郁闷中
我有一个程序:test.sh ================ #!/bin/expect -f set ip [lindex $argv 0] set disk [lindex $argv 1] ..... ..... ==================== 这里我需要disk是一个数组,我该如何将一个数组传给test.sh 做参数呢 我这么做: disk=(A C) ./test4.sh 192.168.100.19 ${disk[@]} 可是不行哦,我使用puts disk 就只出来一个A,puts disk(1) 出错,说disk 不是数组
shell脚本如下: ... elif [ $OBJECT_TYPE = "T" ]; then echo ${OBJECT_NAME}_fr.sql refresh_table ${OBJECT_NAME}_fr.sql ... 其中refresh_table是另外一个shell,需要一个传入参数。 从echo返回值看,传入参数是正确的,为 eden_flat_ord_rate_fr.sql; 单独执行 $refresh_table eden_flat_ord_rate_fr.sql 也是正确的。 但是上面的脚本执行时,就出现错误: eden_flat_vhc_live_cmpt_fr.sql refresh_table: t...
下面的代码可以正常运行: #/usr/bin/sh sqlplus -S etltest/etltest@basdw1 << ! set pagesize 0 feedback off verify off heading off echo off col name noprint col age noprint column name new_val name_new column age new_val age_new select name,age from zyp_test; host echo &name_new host echo &age_new exit exit ! 可下面的代码却不行,各位老大帮忙看看为啥? #/usr/bin/sh aa='' bb='' sqlplus -S etltest/etlt...
通过shell教本给java传参数,总是被空格断开(我的目的是接受带空格的参数 ) [code]#!/usr/bin/ksh # PARAMS=""; while getopts dek:f:t:vh OPTION do case $OPTION in d | e | v | h) PARAMS=$PARAMS" -$OPTION" ;; k) PARAMS=$PARAMS" -k$OPTARG"; ;; f | t) PARAMS=$PARAMS" "\""-"$OPTION$OPTARG\"; ;; \?)echo "Illegal Paremters" exit 1;; esac done echo $PARAMS #$JAVA_HOME/b...
各位大侠,我用awk 读取了几个个字符串变量,如: awk 'BEGIN{FS="\n"}{str1=$1;str2=$2;str3=$3}‘ a.txt 下面我要在shell里用这几个变量: sed -e "s/0/(这里就用str1)/g" b.txt > c.txt 请问如何用这几个变量