‘壹’ Shell 怎么样把一条命令的返回的结果值 赋给一个变量 脚本问题
FILELIST= 'cat my.index‘ 这边你是用的单引号吧, ` 换成这个
‘贰’ shell脚本的$返回值
我试了一下,是非0的。请给出你完整的脚本
‘叁’ bash shell如何获取到命令执行结果的值
将一条命令的执行结果取得命令执行结果的值有:
1、使用反引号`` (数字键1左边的键,tab键上面,英文方式输入)如:a=`echo "hello world"`;即将命令 echo "hello world"的输出赋给变量a
2、可以使用 $(()),如:a=$(echo "hello world"),即将命令echo "hello world"的输出赋给变量a。
‘肆’ shell里判断返回值的问题
你不要输出结果,那就将结果重定向至 /dev/null 即可,具体代码就是:
你的命令后面加上 >/dev/null 就不会有输出结果了。举个简单的例子:
ping -c 192.168.1.1 这个命令,用于判断到这个IP是否畅通,如果你在后面不加上重定向。
那么每次都会输出结果,也就是你现在的情况。所以下面代码我就在ping的后面加上了重定向
代码,让结果屏蔽,仅获取返回值$?,那屏幕上就不会显示ping的结果了,只会显示下面判断结果,懂了么?
#!/bin/bash
ping-c2192.168.1.1>/dev/null
if[$?-eq0];then
echo192.168.1.1isokey!
else
echo192.168.1.1isfailed!
fi
‘伍’ 如何得到shell的返回值
你说的
返回值
是函数的返回值吗还是一条命令的返回值
如果是函数返回值
可以在函数最后用print
或者echo
返回
你要的
返回值。
这样函数内部处理返回值打印就不可以有其他打印,否则影响返回值。
如果是命令执行的返回值也用$()
例子:
function
exmaple1
{
input=$1
#函数有一个输入参数
output="${input}
stringappend"
echo
$output
#
函数的返回值
}
outValue=$(exmaple1
“test”)
#
将函数的返回值赋值给outValue
‘陆’ shell脚本,函数返回值计算
<-/DATA/data01/zz->$echo$(1+2)
-bash:1+2:commandnotfound
<-/DATA/data01/zz->$echo$((1+2))
3
<-/DATA/data01/zz->$
$()表示执行里面的命令,与``一样,$(())是计算,1+2不可执行,返回错误的非0码。
‘柒’ shell脚本的一个返回值问题。
首先,要理解 (( )) 这个符号用作数学运算或整数的逻辑比较,一个例子:
[ “$a” -lt 16 ] 等同于 (( a < 16 ))
$?则是返回上一个命令的执行结果,成功(逻辑真)返回0,失败(逻辑假)返回1。
本题中,
(( 0 )) 返回逻辑假(false),所以$?返回1;
(( 1 )) 返回逻辑真(true),所以$?返回0。
‘捌’ Java解析执行shell命令返回的结果
String s = 那串结果;
String useful = s.substring(s.indexOf("/"));
String[] every = useful.split(" /");
得到的数组就是每个的信息,然后再解析(但要注意,第一个的开头有一个斜线/)
‘玖’ linux shell关于返回值
while后跟的是ASCII码的1和0 这里1表示真,0表示假
return返回的1和0是shell里的值,0表示正确执行,1表示一般错误
‘拾’ 如何获取shell函数的返回值及shell命令的返回值
shell 函数的返回值 $?:
#!/bin/bash
functionfunc(){
if[$1-le$2]
then
return0
else
return1
fi
}
func12
a=$?
命令的返回值 :
比如 ls -l ,紧接下来的 $? 就是其返回值
#!/bin/bash
ls-l
a=$?