我使用过的Linux命令之true - 啥都不做,设置退出码为0

我使用过的Linux命令之true - 啥都不做,设置退出码为0

本文链接:http://codingstandards.iteye.com/blog/833338   (转载请注明链接)

 

用途说明

true命令啥都不做,只设置退出码为0。在Linux底下,每个程序执行完毕都会返回一个退出码给调用者,一般情况下0表示成功,其他值表明有问题,当然某些程序的退出码有特殊含义。有些shell下true可能是个内建命令,至少bash下是。(do nothing, successfully。Exit with a status code indicating success. NOTE: your shell may have its own version of true, which usually supersedes the version described here.  Please refer to your shell’s documentation for details about the options it supports.)相对应的命令是false,也是啥都不干,但退出码设置为1。

 

常用参数

显示退出码的方式:echo $?

死循环的写法:while true; do commands; done

另外一个内建命令:,就是一个冒号,也可达到true一样的效果。

死循环的写法二:while : ;do commands; done

 

使用示例

示例一 Bash下true是个内建命令

[root@new55 ~]# type -a true
true is a shell builtin
true is /bin/true
[root@new55 ~]#

 

示例二

[root@web186 root]# true; echo $?
0

空指令:也可达到true命令一样的效果。
[root@web186 root]# false; echo $?; :; echo $?      
1
0
[root@web186 root]#

 

问题思考

相关资料

【1】about.com Linux / Unix Command: true

 

返回 我使用过的Linux命令系列总目录

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用JSch库来实现Java与Linux服务器之间的SSH连接。以下是一个简单的示例代码,可以连接到Linux服务器并执行命令: ```java import com.jcraft.jsch.*; public class SSHConnection { public static void main(String args[]) { String host = "your_host_name"; String user = "your_user_name"; String password = "your_password"; try { JSch jsch = new JSch(); Session session = jsch.getSession(user, host, 22); session.setPassword(password); session.setConfig("StrictHostKeyChecking", "no"); session.connect(); String command = "ls -l"; Channel channel = session.openChannel("exec"); ((ChannelExec) channel).setCommand(command); channel.setInputStream(null); ((ChannelExec) channel).setErrStream(System.err); InputStream in = channel.getInputStream(); channel.connect(); byte[] tmp = new byte[1024]; while (true) { while (in.available() > 0) { int i = in.read(tmp, 0, 1024); if (i < 0) { break; } System.out.print(new String(tmp, 0, i)); } if (channel.isClosed()) { if (in.available() > 0) { continue; } System.out.println("exit-status: " + channel.getExitStatus()); break; } try { Thread.sleep(1000); } catch (Exception ee) { } } channel.disconnect(); session.disconnect(); } catch (JSchException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在上面的示例代码中,我们首先创建一个`JSch`对象,并使用该对象创建一个`Session`对象。我们还需要设置连接的服务器主机名,用户名和密码。在此之后,我们使用`setConfig`方法禁用了严格主机密钥检查。这是因为当第一次连接到一个主机时,JSch会检查主机密钥,如果没有保存,则会弹出一个警告。通过禁用此功能,我们可以避免弹出这个警告。 接下来,我们创建一个`ChannelExec`对象来执行命令。我们已将要执行的命令设置为`ls -l`。然后,我们使用`channel.connect()`方法连接到服务器,并使用`getInputStream()`方法获取命令的输出流。接下来,我们循环读取输出流中的数据,并在控制台上打印出来。最后,我们检查通道是否关闭,并打印出退出状态码。最后,我们断开与服务器的连接。 请注意,这只是一个简单的示例代码,你需要根据你的实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值