如何获取shell函数的返回值及shell命令的返回值

如何获取shell函数的返回值及shell命令的返回值,第1张

shell 函数的返回值 $:

#!/bin/bash

function func(){

    if [ $1 -le $2 ]

    then

        return 0

    else

        return 1

    fi

}

func 1 2

a = $

命令的返回值 :

比如 ls -l ,紧接下来的 $ 就是其返回值

#!/bin/bash

ls -l

a = $

楼上说的貌似没错,我没去执行看具体报什么错。

用awk是可以的,你需要用-F指定分隔符,然后再输出第几个串,楼上用的双引号作为分隔符,然后输出第四个串,应该是没问题的。

或者你也可以用其他语言,比如php,json_decode函数将这个穿转成数组,然后输入code的值,更加直观。

将一条命令的执行结果取得命令执行结果的值有:

1、使用反引号`` (数字键1左边的键,tab键上面,英文方式输入) 如:a=`echo "hello world"`;即将命令 echo "hello world"的输出赋给变量a

2、可以使用 $(()),如:a=$(echo "hello world"),即将命令echo "hello world"的输出赋给变量a。

以下为具体语句:

实例结果:

shell 是一个交互性命令解释器。shell独立于 *** 作系统,这种设计让用户可以灵活选择适合自己的shell。shell让你在命令行键入命令,经过shell解释后传送给 *** 作系统(内核)执行。

shell是一个命令处理器(command processor)——是一个读入并解释你输入的命令的程序。除了是一个命令中断器以外,shell还是一个程序设计语言。你可以编写shell可以解释的程序(被称为源程序),这些源程序可以包含shell程序设计命令等等。shell除了解释命令以外,还有其他工作,它也可以配置和编程。     

需求: 利用bash for循环打印下面这句话中字母数不大于6的单词

场景说明:

平时在控制台输入指令如:sudo、ssh、ftp或者修改admin权限的文件时候都会要求输入password,但是在she'll脚本运行过程中该如何交互实现自动输入密码呢?

实现ftp自动登录并运行ls指令的用法如下:其中root为用户名,123456为密码

实现自动修改密码的脚本写法如下:

expect就是用来做交互用的,基本任何交互登录的场合都能使用,但是需要安装expect包

用法如下:

解释:

上面语句第一句是设定超时时间为30s,spawn是expect的语句,执行命令前都要加这句

expect "password:"这句意思是交互获取是否返回password:关键字,因为在执行ssh时会返回输入password的提示:root@192168190's password:

send就是将密码123456发送过去

interact代表执行完留在远程控制台,不加这句执行完后返回本地控制台

expect 用来实现自动和交互式任务进行通信,而无需人的干预

依赖tcl,离线安装expect前需要提前安装tcl

以上就是关于如何获取shell函数的返回值及shell命令的返回值全部的内容,包括:如何获取shell函数的返回值及shell命令的返回值、shell脚本如何获取状态码返回值,如ok或error、shell如何获取一条指令的结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9729364.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存