繁体   English   中英

bash脚本编写shell命令

[英]bash script writing shell commands

为什么有些命令需要echo语句,而其他命令却可以简单地编写而无需:

#!/bin/bash

aptitude upgrade

echo "mysql-server-5.1 mysql-server/root_password password $DB_PASSWORD" | debconf-set-selections

以stdin为输入进行处理的命令通常由echo命令提供。 Echo将提供给它的字符串转储到stdout上,然后使用管道“ |”将其复制到stdin上。 因此,对于不需要stdin输入或使用其他输入方法进行处理的命令,无需编写echo命令即可。

aptitude upgradeupgradeaptitude程序的一个参数。 如果您在屏幕上看到输出,则表示内部能力,这对stdout产生了一些“回响”。

与第二种情况一样,也可以编写程序以通过管道“ |”接收stdin。 例如,Python中的程序采用stdin,

import fileinput
for line in fileinput.input():
    print line

并接受争论

import sys
file = sys.argv[1]

这两个的组合将使程序能够接受stdin或参数。 这将是实现aptitutedebconf-set-selections方式,具体取决于其所使用的语言。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM