一、如何得到shell的返回值?
你说的返回值是函数的返回值吗还是一条命令的返回值
如果是函数返回值 可以在函数最后用print 或者echo 返回你要的返回值。 这样函数内部处理返回值打印就不可以有其他打印,否则影响返回值。
如果是命令执行的返回值也用$()
例子:
function exmaple1
{
input=$1 #函数有一个输入参数
output="${input} stringappend"
echo $output # 函数的返回值
}
outValue=$(exmaple1 “test”) # 将函数的返回值赋值给outValue
二、ping没有返回值?
可能对方禁止ping命令了, 或者不是一个vlan也是ping不通的。
Ping的返回信息有"Request Timed Out"、"Destination Net Unreachable"和"Bad IP address"还有"Source quench received"。
"Request Timed Out"这个信息表示对方主机可以到达到TIME OUT,这种情况通常是为对方拒绝接收你发给它的数据包造成数据包丢失。原因可能是对方装有防火墙或已下线。
"Destination Net Unreachable"这个信息表示对方主机不存在或者没有跟对方建立连接。这里要说明一下"destination host unreachable"和"time out"的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其它原因不可到达,这时候会出现"time out",如果路由表中连到达目标的路由都没有,那就会出现"destination host unreachable"。
"Bad IP address" 表示可能没有连接到DNS服务器所以无法解析这个IP地址,也可能是IP地址不存在。
"Source quench received"信息比较特殊,出现的机率很少。表示对方或中途的服务器繁忙无法回应。
三、java取不到shell返回值
Java取不到shell返回值的解决方法
在Java中调用Shell脚本是很常见的需求,在执行Shell脚本后有时需要获取Shell脚本的返回值。然而,有时候会遇到无法获取到Shell脚本返回值的情况,这可能会导致程序运行异常或结果不符预期。本文将介绍一些解决Java取不到shell返回值的方法。
方法一:使用ProcessBuilder类执行Shell脚本
为了能够正确获取Shell脚本的返回值,可以考虑使用Java中的ProcessBuilder类来执行Shell脚本。通过ProcessBuilder类可以创建一个包含Shell脚本的进程,并获取其返回结果。
- 首先,创建一个ProcessBuilder对象,指定需要执行的Shell脚本命令: ProcessBuilder pb = new ProcessBuilder("sh", "/path/to/your/script.sh");
- 然后,启动进程并等待其执行完成: Process process = pb.start(); int exitCode = process.waitFor();
- 最后,通过exitCode获取Shell脚本的返回值: System.out.println("Shell脚本的返回值为:" + exitCode);
方法二:使用Runtime类执行Shell脚本
除了ProcessBuilder类,还可以使用Java中的Runtime类来执行Shell脚本。Runtime类允许应用程序通过执行命令来与操作系统交互,并获取执行结果。
- 首先,获取Runtime对象: Runtime runtime = Runtime.getRuntime();
- 然后,使用exec方法执行Shell脚本命令: Process process = runtime.exec("/bin/sh /path/to/your/script.sh");
- 最后,通过waitFor方法获取Shell脚本的返回值: int exitCode = process.waitFor(); System.out.println("Shell脚本的返回值为:" + exitCode);
方法三:使用Java中的工具类获取Shell脚本返回值
除了直接调用Shell脚本,还可以使用Java中的一些工具类来简化获取Shell脚本返回值的过程。
- 可以使用Apache Commons IO库中的IOUtils类读取Shell脚本的输出流: String result = IOUtils.toString(process.getInputStream(), StandardCharsets.UTF_8);
- 也可以通过BufferedReader来读取Shell脚本的输出: BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); }
结语
通过以上方法,我们可以在Java中成功获取Shell脚本的返回值,从而更好地控制程序流程和结果。无论是使用ProcessBuilder类、Runtime类还是Java中的工具类,都能帮助我们解决Java取不到Shell返回值的问题。希望本文介绍的方法对您有所帮助,谢谢阅读!
四、请教远程shell(ssh)的返回值问题?
eof 中的都是在远程主机上执行的命令,无法用变量赋值的形式将值取回本地。
我想到的一个办法是将结果重定向到文件,然后取文件内容。
具体也没有环境测试,可以试试结尾的 eof >result,这样result文件生成在本地。
若不行,则 find . -mmin -10 | wc -l >result,然后从远程主机取result文件读内容。
五、怎么用shell读取mysql的返回值?
host=`mysql -u$user -p$pass -D $db -e "select host from user;"`orhost=$(mysql -u$user -p$pass -D $db -e "select host from user;")
六、python和shell成功返回值区别?
在Python和Shell中,成功返回值的区别主要体现在以下几个方面:返回值类型:Python中的返回值类型可以是任何类型,包括数字、字符串、列表、元组、字典等。而Shell中的返回值只能是整数,通常用0表示成功,非零值表示错误或异常。返回值含义:在Python中,返回值可以表示函数执行的结果或对象的状态。例如,一个计算平方的函数可能返回一个整数或浮点数。而在Shell中,返回值通常用于表示命令或程序的执行状态。例如,一个成功的命令返回0,而出现错误或异常的命令返回非零值。错误处理:Python和Shell在错误处理方面有所不同。Python使用异常处理机制来捕获和处理错误,通过抛出和捕获异常来处理错误情况。而Shell则使用返回值来指示错误或异常情况,通常通过检查返回值是否为0来判断命令或程序是否执行成功。交互式编程:Shell通常用于交互式编程,即逐行执行命令并根据命令的返回值进行判断和处理。这种交互式编程方式使得Shell在处理管道、条件判断、循环等操作时更加灵活和高效。而Python则更适合于编写脚本和程序,具有更强大的面向对象编程和模块化编程能力。总之,Python和Shell在返回值方面的主要区别在于类型、含义、错误处理和交互式编程等方面。需要根据具体的应用场景和需求选择适合的编程语言。
七、用shell执行的程序怎么取得返回值?
你可以使用echo命令来取得shell执行的程序的返回值。程序执行完成后,该命令将输出相应的返回值,你可以将其保存到变量或文本文件中以便以后使用。
八、win10 ping不通返回值?
window10 ping不通,没有返回值。
那有几种可能性,嗯,有可能是对方的计算机开着防火墙不让你去拼。
你可以将对方的防火墙给关闭,应该就可以了。
另外一种就是网络设备的故障问题,你可以试着重启相关的网络设备看看问题有没有解决。
希望有用吧。
九、shell获取一行的长度?
用wc来处理,如
echo "abcde ff kja" | wc -m
-m --chars 表示字符个数。
十、vba获取登录窗口的返回值?
1. VBA可以获取登录窗口的返回值。2. 登录窗口的返回值是根据具体的登录窗口程序而定的,通常可以通过VBA的SendKeys方法模拟键盘输入用户名和密码,再通过VBA的AppActivate方法激活登录窗口,最后通过VBA的SendKeys方法模拟键盘输入回车键来完成登录操作。登录窗口的返回值通常是一个布尔值或者一个字符串,可以通过VBA的函数或者变量来获取。3. 在VBA中,可以通过调用Windows API函数来获取登录窗口的返回值,具体方法可以参考相关的VBA编程书籍或者网上的教程。
- 相关评论
- 我要评论
-