shell 脚本中关于用户输入参数的处理1、命令行参数向shell脚本传递数据的最基本方式是使用命令行参数。(1) 读取参数 读取输入的参数的变量为位置参数,位置参数通过标准数字表示, 其中$0为程序名称,$1为第一个参数,$2为第二个参数,依次类推,直到$9为第九个参数。 shell脚本自动将命令行参数赋值给各个位置变量。&
一、java调用shell脚本参考自:《如何使用JAVA调用SHELL》1、参数说明 (1)RUNNING_SHELL_FILE:要运行的脚本。 (2)SHELL_FILE_DIR:要运行的脚本所在的目录; 当然你也可以把要运行的脚本写成全路径。 (3)runningStatus:运行状态,0标识正常。 详细可以看java文档。 (4)param1, param2, param3:可以在RUNNI
转载
2023-07-09 20:26:30
248阅读
#!/bin/bashecho "shell param:"echo "file name:$0"echo "first param:$1"echo "second param:$2"echo "third param:$3"echo "fourth para
原创
2022-06-06 17:07:04
3183阅读
if [ $1 = make ]; then make -C armlib -j16 make -C demo -j16 make -C framework/task -j16elif [ $1 = clean ]; then make clean -C armlib -j16 make clean -C demo -j16 make clean -C framework/task -j16 rm common/version.h rm out/*else echo "Please u
原创
2021-07-29 11:15:59
1127阅读
Shell 脚本自动输入密码的三种方式 注意,如果创建.sh文件后不可以执行,请执行sudo chmod 755 文件名.sh来修改权限。方式一使用 echo “密码” | (管道符)使用场景: sudo 命令在使用普通用户执行 root 命令时有时候会需要输入密码,并且在输入密码后一段时间不需要再次输入(但是不影响),这时候可以使用echo "密码" | sudo 命令比如我需要一键清空服务器,
转载
2023-11-21 17:47:52
31阅读
平时在控制台输入指令如:sudo、ssh、ftp或者修改admin权限的文件时候都会要求输入password,但是在she'll脚本运行过程中该如何交互实现自动输入密码呢?下面总结三种实现方法:一、重定向:用重定向方法实现交互的前提是指令需要有参数来指定密码输入方式,如ftp就有-i参数来指定使用标准输入来输入密码shell用重定向作为标准输入的用法是:cmd<<delimiter ,
转载
2023-11-23 21:41:33
0阅读
数据的展示理解输入与输出标准文件描述符STDIN(标准输入)STDOUT(标准输出)STDERR(标准错误)重定向错误只重定向错误重定向错误和数据在shell脚本中重定向输出临时重定向永久重定向在shell脚本中重定向输入创建自己的重定向创建输出文件描述符重定向文件描述符创建输入文件描述符创建读写文件描述符关闭文件描述符列出打开的文件描述符阻止命令输出创建临时文件创建本地临时文件在/tmp 目录
转载
2024-04-22 18:50:18
1121阅读
这里我们主要讲使用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阅读
linux shell if 参数
shell 编程中使用到得if语句内判断参数
–b 当file存在并且是块文件时返回真
-c 当file存在并且是字符文件时返回真
-d 当pathname存在并且是一个目录时返回真
-e 当pathname指定的文件或目录存在时返回真
-f 当file存在并且是正规文件时返回真
-g 当由pathname指
转载
精选
2012-08-29 14:34:18
599阅读
在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
转载
2023-07-09 21:46:39
1206阅读
管道“|”管道常用于处理多重处理,把前一个命令的输出作为下一个命令的输入传入。简单来说,可以看作生产的每一道工序,一个工序做完后传给下一道工序所以管道符是一个非常常用的,会和多种命令配合使用,下面博主就介绍一些常与“|”配合的命令1、cut命令截取字符串选项:-d:后面接分隔符,分隔符要用引号括起来要和-f配合。-c:后面接的是第几个字符。-b: 后面接的是第几个字节-f:后面接的是第
转载
2024-05-29 00:20:14
173阅读
输入输出的操作使用#!/bin/bash
# 输入/输出重定向
# 大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是你的终端。
# 需要注意的是文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错
转载
2024-04-17 14:29:02
323阅读
bash shell 提供了一些不同的方法从用户处获取数据,这些方法包括命令行参数、命令行选项和直接读取键盘输入。 命令行参数bash shell 将在命令行中输入的所有参数赋值给一些特殊变量,称为位置参数,通过标准数据表示,其中$0为程序名称,$1为第一个参数,$2为第二个参数,依此类推,直到$9为第九个参数。在第九个变量之后,必须使用大括号将变量括起来,如${10}。示例#!/bin
转载
2024-04-28 11:08:03
1616阅读
编写的脚本需要能够与使用者进行交互。base shell提供了一些不同的方法来从用户处获得数据,包括命令行参数、命令行选项以及直接从键盘读取输入的能力。命令行参数命令行参数是向shell脚本传递数据的最基本方法。如下向脚本传递10和20两个数值./hello.sh 10 20读取参数base shell会将位置参数的特殊变量分配给输入到命令行的所有参数,位置参数第一位是程序名:$0。依次是$1、$
转载
2024-01-03 23:32:12
55阅读
echo '-e' 回车换行 ‘-n’ 回车不换行eg. 3.2.1 readread语句可以从键盘或文件的某一行文本中读入信息,并将其赋给一个变量read var1 var2 ... 如果只指定了一个变量,那么read将会把所有的输入赋给该变量,知道遇到第一个文件结束符或回车;如果给出了多个变量,它们按顺序分别被赋予不同的变量。shell将用空格作为变量之间的分隔
转载
2024-03-07 15:21:00
249阅读
为啥要加密shell脚本以我个人的需求为例,我要做一个自动远程登录的脚本,每次手动输密码太慢,而且输的多了密码也容易泄露;直接把密码写在脚本里,快确实是快,但是安全性让人无法忍受,写脚本的时候都有可能被过路的不小心看到密码,这就太蛋疼了。 最终解法就是,把密码写在脚本里,作为参数传给下一个脚本让其用来登录,而保存密码的脚本,使用某种手段加密,令其不可读但是可执行。 加密方法介绍和实战经
转载
2024-01-08 15:01:26
16阅读
[ -f "somefile" ] :判断是否是一个文件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等
-r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规
转载
精选
2013-12-16 11:32:54
639阅读
$# 是传给脚本的参数个数$0是脚本本身的名字$1是传递给该shell脚本的第一个参数$2是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个$$ 是脚本运行的当前进程ID号$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
原创
2016-03-13 16:09:27
659阅读
test.sh #!/bin/bash echo "脚本名$0" echo "第1个参数$1" echo "第2个参数$2" echo "第3个参数$3" echo "第4个参数$4" echo "第5个参数$5" echo "第6个参数$6" echo "第7个参数$7" echo "第8个参数$
转载
2020-05-03 13:31:00
2003阅读
2评论