脚本需要与运行脚本的人员进行交互。bash shell提供了命令行参数(添加在命令后面的数据值)、命令行选项(修改命令行为的单字符值)和直接读取键盘输入。1、命令行参数向shell脚本传递数据的最基本方式是使用命令行参数。(1)读取参数   读取输入的参数的变量为位置参数,位置参数通过标准数字表示,   其中$0为程序名称,$1为第一个参数,$2为第二个参
技术收藏之Linux Shell 中的用户输入处理1. 命令行参数2. 命令行参数的处理2.1 错误检测:条件判断(参数验证)2.2 移动变量:shift 命令2.3 选项处理2.3.1 处理简单选项2.3.2 分离参数和选项2.3.3 处理带值选项2.3.4 getopt 命令2.3.5 getopts 命令2.3.6 选项的标准化3. 在脚本运行时获取输入 # 在使用 Linux 的命令时,
转载 2024-06-27 17:25:40
33阅读
数据的展示理解输入与输出标准文件描述符STDIN(标准输入)STDOUT(标准输出)STDERR(标准错误)重定向错误只重定向错误重定向错误和数据在shell脚本中重定向输出临时重定向永久重定向在shell脚本中重定向输入创建自己的重定向创建输出文件描述符重定向文件描述符创建输入文件描述符创建读写文件描述符关闭文件描述符列出打开的文件描述符阻止命令输出创建临时文件创建本地临时文件在/tmp 目录
转载 2024-04-22 18:50:18
1134阅读
平时在控制台输入指令如:sudo、ssh、ftp或者修改admin权限的文件时候都会要求输入password,但是在she'll脚本运行过程中该如何交互实现自动输入密码呢?下面总结三种实现方法:一、重定向:用重定向方法实现交互的前提是指令需要有参数来指定密码输入方式,如ftp就有-i参数来指定使用标准输入输入密码shell用重定向作为标准输入的用法是:cmd<<delimiter ,
Shell 脚本自动输入密码的三种方式 注意,如果创建.sh文件后不可以执行,请执行sudo chmod 755 文件名.sh来修改权限。方式一使用 echo “密码” | (管道符)使用场景: sudo 命令在使用普通用户执行 root 命令时有时候会需要输入密码,并且在输入密码后一段时间不需要再次输入(但是不影响),这时候可以使用echo "密码" | sudo 命令比如我需要一键清空服务器,
转载 2023-11-21 17:47:52
31阅读
这里我们主要讲使用expect实现自动输入功能:安装:CentOS下安装命令,如下:yum install  expect开始之前的一个简单实例:#!/usr/bin/expect spawn ssh root@1.1.1.1 expect "*password:" send "123\r" expect "*#" interactExpect是一个用来处理交互的命令。我们可以使用exp
转载 2024-05-09 10:41:36
308阅读
# Docker 读取Docker容器中shell脚本输入 Docker是一种开源的容器化平台,可以将应用程序及其依赖项打包成一个独立的容器,以实现跨平台、快速部署的目的。在使用Docker时,我们常常需要在容器中运行shell脚本来执行特定的任务或操作。本文将介绍如何在Docker容器中读取shell脚本输入,并提供相应的代码示例。 ## 背景 在Docker容器中运行shell脚本
原创 2023-12-26 09:33:47
54阅读
          数据抽取到临时表(存储过程test(num)执行该操作),在将表中数据写入到txt文件,最后将txt打包zip原先一直和代码打交道,做任何事都考虑的是使用代码完成,所以一开始就写了份代码:        1:读取配置配置文件(里面写了要操作的号)excel   &nbs
在系统开发过程中,很多时候需要将Java应用与Shell命令配合使用。这个过程可以通过标准输入实现,让Java能够读取Shell的输出并进行相应处理。在这篇博文中,我将详细记录“java读取shell输入”问题的解决过程,从背景分析到扩展应用,涵盖每一个环节。 ### 背景定位 在一个需要处理大量数据的企业环境中,Java应用在业务中扮演着重要角色。考虑到数据处理的效率,选择将数据处理部分与S
原创 7月前
14阅读
在Linux操作系统中,Shell脚本是一种强大的工具,可以帮助用户自动化执行一系列命令。在Shell脚本中,经常需要用户输入一些参数或数据来指导脚本的执行。而在Linux中使用红帽发行版的操作系统时,输入这些参数或数据的方式也有一些特殊的技巧。 在Linux中,有很多种方式可以从用户那里获取输入数据,其中最简单的方式就是使用read命令。read命令可以从标准输入读取用户输入的数据,并将其赋
原创 2024-05-21 10:15:14
98阅读
前言:   ssh命令, 没有指定密码的参数. 以至于在脚本中使用ssh命令的时候, 必须手动输入密码, 才能继续执行. 这样使得脚本的自动化执行变得很差, 尤其当ssh对应的机器数很多的时候, 会令人抓狂.本文讲解了两种方式, 一种借助expect脚本, 一种借助sshpass来实现.*) 借助expect脚本来实现1. expect不是系统自带的工具, 需要安装yum install expe
# 使用Shell脚本读取MySQL数据库 ## 简介 在开发过程中,我们经常需要从MySQL数据库中读取数据,并进行一些处理和分析。本文将介绍如何使用Shell脚本读取MySQL数据库。 ## 准备工作 在开始之前,我们需要确保已经安装了MySQL数据库和Shell脚本解释器。如果还没有安装,可以参考官方文档进行安装。 ## 流程概述 下面是整个流程的步骤概述: | 步骤
原创 2023-12-19 13:37:21
86阅读
 $ wget -c https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 或 yum install -y jq使用jq读取json字符串:$ curl -s http://api.cwj.com/api/user/getRegionByLocation{ "code":
转载 2023-05-23 16:17:23
203阅读
输入输出的操作使用#!/bin/bash # 输入/输出重定向 # 大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是你的终端。 # 需要注意的是文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错
bash shell 提供了一些不同的方法从用户处获取数据,这些方法包括命令行参数、命令行选项和直接读取键盘输入。 命令行参数bash shell 将在命令行中输入的所有参数赋值给一些特殊变量,称为位置参数,通过标准数据表示,其中$0为程序名称,$1为第一个参数,$2为第二个参数,依此类推,直到$9为第九个参数。在第九个变量之后,必须使用大括号将变量括起来,如${10}。示例#!/bin
echo  '-e' 回车换行  ‘-n’ 回车不换行eg.  3.2.1 readread语句可以从键盘或文件的某一行文本中读入信息,并将其赋给一个变量read var1  var2  ...  如果只指定了一个变量,那么read将会把所有的输入赋给该变量,知道遇到第一个文件结束符或回车;如果给出了多个变量,它们按顺序分别被赋予不同的变量。shell将用空格作为变量之间的分隔
 为啥要加密shell脚本以我个人的需求为例,我要做一个自动远程登录的脚本,每次手动输密码太慢,而且输的多了密码也容易泄露;直接把密码写在脚本里,快确实是快,但是安全性让人无法忍受,写脚本的时候都有可能被过路的不小心看到密码,这就太蛋疼了。 最终解法就是,把密码写在脚本里,作为参数传给下一个脚本让其用来登录,而保存密码的脚本,使用某种手段加密,令其不可读但是可执行。 加密方法介绍和实战经
记录:439场景:Shell脚本读文件和写文件。版本:CentOS Linux release 7.9.2009。1.Shell脚本使用cat读取文件内容1.1脚本脚本名称:b2023060121.sh脚本内容:#!/bin/bash echo '1.使用cat读取文件内容,使用for in遍历输出' filePath=`pwd` for line in `cat ${filePath}/pro
当需要在执行过程中获得执行脚本人员的输入,使用read命令(1)基本读取read命令接受标准输入或其他文件描述符输入。读入后将数据放入一个标准变量中。-p 允许在read命令行中直接指定一个提示。可以指定多个变量,也可以不指定(将放置在REPLY环境变量中)(2)计时使用-t指定一个计时器,计时数满还未输入,read返回一个非0的退出状态。使用-n指定输入的字符个数,输入达到预定数目时,就自动结束
原创 2015-04-03 10:48:18
2672阅读
typeset input#日期取得while truedo       printf "请输入日期:"       printf ""exit"\n退出循环"       printf "[YYYY-MM-DD]==>"       read $input  
原创 2013-11-22 09:30:08
1695阅读
  • 1
  • 2
  • 3
  • 4
  • 5