在linux应用程序使用system函数执行简单的shell交互命令的方法
2012-10-17 21:54
1061 查看
例如:
system(“tftp <<EOO\n\nquit\n\nEOO”);
“ <<EOO EOO” : 这个是here document ,就是一段特殊目的的代码块. 他使用 I/O 重定向的形式来将一个命令序列传递 到一个交互程序或者命令中, 比如 ftp, cat, 或者vim文本编辑器. “<<EOO”是开始,“E00”为结束,它们必须成对出现, “EOO”可以改为任何非shell命令的字符串
“quit” :这就是tftp中的命令,实际上"<<EOO" "EOO"之间可以执行任何tftp命令了,即可以进行简单的交互, 若要进行更复杂的交互,可以使用expect交互脚本语言
“\n ” :表示回车,这是因为在代码中,所以“\n”表示回车, 若在bash中执行tftp <<EOO\n\nquit\n\nEOO是不成功的, 因为在shell中无法敲出回车换行符,但可以用以下的方法进行执行:
1. echo -e "tftp\nquit\n" | /bin/bash 这里使用了echo的转义字符进行转换回车换行
2. tftp < file.txt 将file.txt当做tftp的标准输入, file.txt的内容是: quit
system(“tftp <<EOO\n\nquit\n\nEOO”);
“ <<EOO EOO” : 这个是here document ,就是一段特殊目的的代码块. 他使用 I/O 重定向的形式来将一个命令序列传递 到一个交互程序或者命令中, 比如 ftp, cat, 或者vim文本编辑器. “<<EOO”是开始,“E00”为结束,它们必须成对出现, “EOO”可以改为任何非shell命令的字符串
“quit” :这就是tftp中的命令,实际上"<<EOO" "EOO"之间可以执行任何tftp命令了,即可以进行简单的交互, 若要进行更复杂的交互,可以使用expect交互脚本语言
“\n ” :表示回车,这是因为在代码中,所以“\n”表示回车, 若在bash中执行tftp <<EOO\n\nquit\n\nEOO是不成功的, 因为在shell中无法敲出回车换行符,但可以用以下的方法进行执行:
1. echo -e "tftp\nquit\n" | /bin/bash 这里使用了echo的转义字符进行转换回车换行
2. tftp < file.txt 将file.txt当做tftp的标准输入, file.txt的内容是: quit
相关文章推荐
- PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
- PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
- linux c之通过popen和pclose函数创建管道执行shell 运行命令使用总结
- 【Linux】嵌入式开发,在Linux中使用C语言对Fork函数执行子函数及父函数,命令ps 及 ls 操作
- Linux命令最简单的使用方法
- php执行外部命令函数:exec()、passthru()、system()、shell_exec()对比
- Linux下使用popen()执行shell命令
- PHP执行linux系统命令的常用函数使用说明
- php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
- Linux中执行shell脚本命令的4种方法总结
- php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
- Linux中使用crontab命令定时执行shell脚本或其他Linux命令
- PHP如何执行Linux系统命令呢?system();exec();popen();函数
- linux c system函数执行命令的返回值
- 关于Linux_shell中的管道命令pipe “|”的简单学习和使用
- linux使用Python上秘钥远程登录ssh执行shell命令
- python执行使用shell命令方法分享
- Linux操作系统下Screen命令的简单使用方法
- linux C 语言的 system(执行shell 命令)