当前位置:首页 » 编程软件 » shell脚本获取参数

shell脚本获取参数

发布时间: 2022-02-23 06:08:02

⑴ 如何获取传入给shell脚本的最后一个参数

执行“nano test.sh”创建一个新的shell脚本。

脚本test.sh的内容如下:
#!/bin/sh
name=$1
echo "the ${name} are great man!"

给新创建的test.sh的脚本赋可执行权限,命令为“chmod 755 test.sh”。

执行'./test.sh "xiao wang"'命令,可以看到自己编写脚本的结果“the xiao wang are great man!”。

5
"name=$1"中$1为系统提供的位置参数,$0代表程序的名称,[$1/$2/...]从1开始为传递的参数。
6
linux系统除了提供位置参数还提供内置参数,内置参数如下:
$# ----传递给程序的总的参数数目
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ----传递给程序的所有参数组成的字符串。
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ... $0 ----当前程序的名称
$@----以"参数1" "参数2" ... 形式保存所有参数
$$ ----本程序的(进程ID号)PID
$! ----上一个命令的PID

⑵ linux shell 脚本读取用户输入的参数如何解决

while read var
do
echo $var
done
这样也是可以的,没错。
想回退的话用 ctrl+backspace

⑶ linux shell脚本读取用户输入的参数

$# 是传给脚本的参数个数

$0 是脚本本身的名字
$1是传递给该shell脚本的第一个参数
$2是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表

例如:

#!/bin/sh
echo "arg_num: $#"
echo "shell_name: $0"
echo "first_arg : $1"
echo "second_arg : $2"
echo "args : $@"

⑷ shell中怎么获取存储过程的输出参数给变量

#下面的代码是对于从oracle的sqlplus返回变量值给shell的例子
output=`sqlplus -s unitele/lemontea << EOF
set heading off feedback off verify off
drop function test_get_param_value_p;
CREATE OR REPLACE function test_get_param_value_p
(
is_citycode in varchar2
)
return varchar2
is
on_value varchar2(100);
begin
on_value :='100000';
dbms_output.put_line(on_value);
dbms_output.put_line(is_citycode);
return on_value;
end;
/
select test_get_param_value_p('501') from al;
exit
EOF
`
echo "Oracle的输出变量值:"$output
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
存储过程 myproc(in_num in number,out_num out number)
sql脚本模板
先编辑一个mysql.sql文件,内容如下:
------------
var nret number;
execute :nret := 0;--初始化
call myproc(in_code,:nret)--执行存储过程,in_code会被替换掉
/
select 'retcode[' || :nret || ']retcode' from al--显示结果
/
quit;
-------------
SHELL脚本mysh.sh,内容如下
-------------
#./mysh.sh 123
cd /home/myshell
sed "s/in_code/$1/" mysql.sql > mysql01.sql
#根据sql脚本模板生成实际脚本
sqlplus usr/pwd@db result$1.txt
#执行sql脚本并把结果输入result$1.txt
echo ok!
-------------
在LINUX下执行./mysh.sh 123,生成result123.txt,myproc输出参数在'retcode['和']retcode'之间。

⑸ linux shell脚本调用参数传递

三个选择:
1)把参数写进脚本,运行脚本时不带参数。
2)使用交互式方法,运行时提示让用户手动输入这些信息。
3)搜索“linux 隐藏进程”。

如果你的用户名密码是用于登录的话,改用密钥好了:
http://..com/question/324853297.html

⑹ Linux shell 脚本 间接获取输入参数的方法

如果是bash,可以用indirect expansion来搞,语法为 ${!var}。
比如
foo=bar
bar=123
echo ${!foo}
会打印 123

再比如下面的脚本,依次打印脚本的各个输入参数。

#!/bin/bash
var=1
while [ $var -le $# ]
do
echo "Param $var is ${!var}"
let var++
done

不用indirect expansion,也可以用 eval, 比如

#!/bin/bash
var=1
while [ $var -le $# ]
do
eval echo "Param $var is \$$var"
let var++
done

java怎么接收shell脚本传进来的参数

java main方法中的args数组,就是用来接收命令行执行时传入的参数

⑻ 如何从一个文件读取shell脚本执行参数

使用source命令可以把一个文件的内容读取到当前脚本来

例如:

a.conf 里面有一个变量 aa="1234"

在脚本里面使用source

#!/bin/bash
source./a.conf(source的时候最好用绝对路径,我这儿用的相对路径)
echo$aa

⑼ linux脚本获取输入参数

  1. 用eval,可以把字符串当作命令来执行:

  2. val=2

  3. eval "x=$$val"

  4. echo $x

2. 用"$@"把参数列表转化成数组

val=1

x=( "$@" )

echo "${x[$val]}"

注意:数组是从0开始的,也就是 ${x[0]} 对应 $1、${x[1]} 对应 $2,依次类推……

⑽ 如何取得传入shell脚本的第i个值要求i循环到几就取第几个参数

j=1
while[$j-lt$i]
do
shift
done
echo$1

while执行shift i-1次,最后$1就是脚本的第i个值

热点内容
mc外国服务器地址名称 发布:2025-01-16 11:09:45 浏览:17
用脚本砍价 发布:2025-01-16 11:04:36 浏览:680
公司密码包括什么 发布:2025-01-16 11:04:04 浏览:544
php批量查询 发布:2025-01-16 10:43:38 浏览:917
适合搭建代理服务器的云 发布:2025-01-16 10:42:49 浏览:428
我的世界手机版服务器怎么注册 发布:2025-01-16 10:41:30 浏览:614
小米云电视服务器 发布:2025-01-16 10:37:03 浏览:350
php开源wiki 发布:2025-01-16 10:27:19 浏览:189
sql加字段备注 发布:2025-01-16 10:21:49 浏览:565
线割编程教程 发布:2025-01-16 10:21:03 浏览:18