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

shell脚本参数

发布时间: 2022-01-08 19:45:05

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脚本传参数

from:Linux命令行与shell脚本编程大全.第3版

向shell脚本传递数据的最基本方法是使用命令行参数。命令行参数允许在运行脚本时向命令行添加数据。
$ ./addem 10 30
本例向脚本addem传递了两个命令行参数( 10和30)。脚本会通过特殊的变量来处理命令行参数。

下面是在shell脚本中使用单个命令行参数的简单例子。

$cattest1.sh
#!/bin/bash
#usingonecommandlineparameter
#
factorial=1
for((number=1;number<=$1;number++))
do
factorial=$[$factorial*$number]
done
echoThefactorialof$1is$factorial
$
$./test1.sh5
Thefactorialof5is120
$


㈢ 编写一个shell脚本,读入10个参数

楼上说的有点问题,只有$0~$9哦,没有$10的。这些叫做位置参数,共10个位置参数。
$0表示脚本名称本身,$1~$9分别表示9个参数,要想取第10个参数,必须用shift来移位。
shift (= shift 1), 即移一位。移位后$1就表示取第2个参数了。
shift 9后用$1就取到了第10个参数。

㈣ 执行SHELL脚本,传入参数,参数应该被里边的sql所用,请问怎么写

变量在sh中用$1,$2,$3... 顺序表示传入的参数。
sql写法:
select dept_id,dept_name from department
where dept_id=$1

㈤ shell 如何启动另外一个脚本执行,并传递参数

子shell变量传递给父shell,中间可以保存个临时文件让父shell去读。

下边是一个子shell,传递给父shell的一个例子,仅做参考

#!/bin/bash

(
subvar="helloshell"
echo"$subvar">temp.txt
)

readpvar<temp.txt

echo$pvar

㈥ linux shell编程:shell 脚本参数问题!

关于参数传递:
假我要获取/home某目录text.txt文件某目录我原先知道所需要先使用:
ls -l /home
获取/home目录信息
现需要ls -l /homels -l $filenamemore text.txt三命令写同shell
该写$filename传递
写简单程序
#!/bin/bash
i=0
while [$i]
do
echo "$i"
done

程序始报错:
snytax error near unexpected token 'do'
并且管我写任何内容要while控制语句报种错误
我程序问题linux问题

㈦ shell脚本中的$*,$@和$#

我没用过$@,但是可以自己写个脚本测试下。
先介绍下我知道的,如下:
位置变量 :$0,$1,$2,$3,$4,$5,$6,$7,$8,$9 $0显示运行的脚本,$1...显示位置参数的值
预定义变量:

$# 表示位置参数的数量
$* 表示所有位置参数的内容
$? 表示命令执行后返回的状态 (执行成功 返回0 执行不成功 返回非0)
$$ 表示当前进程的进程号 希望打开一个进程后不再打开另一个(/proc/<PID>)
$! 表示后台运行的最后一个进程号
$0 表示当前的进程名

测试脚本如下:(位置变量只输出到$3)
[root@XP-24-35 script]#vim a.sh
#!/bin/bash
echo '$0 ==> ' $0
echo '$1 ==> ' $1
echo '$2 ==> ' $2
echo '$3 ==> ' $3
echo '$$ ==> ' $$
echo '$* ==> ' $*
echo '$@ ==> ' $@
echo '$# ==> ' $#
echo '$? ==> ' $?

执行结果1(输入小于三个位置参数a,b)
[root@XP-24-35 script]# ./a.sh a b
$0 ==> ./a.sh
$1 ==> a
$2 ==> b
$3 ==>
$$ ==> 4847
$* ==> a b
$@ ==> a b
$# ==> 2
$? ==> 0

执行结果2(刚好输入三个位置参数)
[root@XP-24-35 script]# ./a.sh a b c
$0 ==> ./a.sh
$1 ==> a
$2 ==> b
$3 ==> c
$$ ==> 4844
$* ==> a b c
$@ ==> a b c
$# ==> 3
$? ==> 0

执行结果3(输入大于3个位置参数)
[root@XP-24-35 script]# ./a.sh a b c d e f
$0 ==> ./a.sh
$1 ==> a
$2 ==> b
$3 ==> c
$$ ==> 4852
$* ==> a b c d e f
$@ ==> a b c d e f
$# ==> 6
$? ==> 0

实验结果说明一切,忘采纳,谢谢。

㈧ shell 脚本参数 路径怎么设置

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

㈨ linux shell脚本调用参数传递

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

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

㈩ 怎么写一个shell脚本传入参数

echo第1个参数为$1
echo第9个参数为$9
echo第11个参数为${11}
forpin"$@";do
echo$p
done
forp;do
echo$p
done

热点内容
如何修改河北高考志愿密码 发布:2024-09-21 05:46:48 浏览:676
副武器脚本 发布:2024-09-21 05:37:30 浏览:127
隐藏频道密码是多少 发布:2024-09-21 05:32:21 浏览:121
触动精灵脚本制作教程 发布:2024-09-21 05:13:14 浏览:400
自己编译autojs 发布:2024-09-21 05:09:40 浏览:358
我的世界电脑版无政府服务器 发布:2024-09-21 04:55:36 浏览:836
时间服务器和笔记本电脑同步 发布:2024-09-21 04:48:04 浏览:762
无权限访问工作组的计算机 发布:2024-09-21 04:26:31 浏览:476
为什么ipad需要密码解锁 发布:2024-09-21 04:06:22 浏览:211
mariadb存储过程 发布:2024-09-21 03:56:05 浏览:515