sas 能像 shell 文件参数传递一样传递参数吗

相关文章推荐:
shell脚本里执行另一个可执行程序
/article/shell/20707.html
本文介绍了shell脚本传递变量到另一个脚本文件中的方法,在脚本中调用另一脚本,即创建了一个子进程,感兴趣的朋友参考下。
一,有如下的shell脚本。
复制代码 代码示例:#!/bin/bash
echo &this is the father&
FILM=&A Few Good Men&
echo &I like the film : $FILM&
#call the child script
#export FILM
./child.sh
echo &back to father&
echo &and...
阅读(0) 回复(0)
其他文章推荐
上周迁移了一台服务器,发现其中一个项目的数据没有更新,查询原服务器的数据,数据有更新,并找到了rsync服务,从其他服务器传输数据,那么如何找到这台服务器?因为是从远程传输到本地,而且不是很频繁,手动查找通信记录,没有结果。写了一个脚本进行跟踪下,考虑到通信时间短的问题。
需要每秒执行一次命令,通过linux自带的cron却不能实现,新版的cron据说可以精确到秒。1、编写shell脚本:#!/bin/bash
while [ true ]; do...
Python/Ruby
阅读(0) 回复(0)
同一个Linux服务器上,多人在同时使用,假如开发了一个shell脚本(名字为getcode.sh),大家在任何目录下都有可能会需要使用到,那么这种情况最好考虑写一个linux c语言的可执行程序(名为getcode),由这个c程序来执行shell脚本,然后将getcode二进制c程序放到/bin/或者/sbin/目录下,以后在任何目录都可以像使用ls命令一样来使用getcode,间接的就是在使用getcode.sh脚本了,而不需要每次将getcode.sh脚本拷贝当前目录来执行。
阅读(90) 回复(0)
shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行。我们也可以逐一敲入命令手动执行。如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反复运行这些命令了。
假定你已经知道shell scripting、 mysqldump和crontab。首先给出完整的脚本,后面会对该脚本做说明。
适用操作系统:任何Linux或UNIX。
1.创建脚本
该shell脚本可以自动备份数据库。只要复制粘贴本脚...
Mysql/postgreSQL
阅读(150) 回复(0)
今天遇到一个实际的问题,需要向系统终端一次写入多个关键词,并且实现换行,于是自己去简单看了下shell,现学现用吧,临时拼凑了一下,形成了下面的简单脚本:
点击(此处)折叠或打开
#!/bin/bash
echo &This is a shell to input multi-keywords into regexes...&
if [ -f regexes ];then
阅读(90) 回复(0)
今天遇到一个实际的问题,需要向系统终端一次写入多个关键词,并且实现换行,于是自己去简单看了下shell,现学现用吧,临时拼凑了一下,形成了下面的简单脚本:
点击(此处)折叠或打开
#!/bin/bash
echo &This is a shell to input multi-keywords into regexes...&
if [ -f regexes ];then
阅读(900) 回复(2)
很想像之前的一片Mysql全面优化详解那样子写一篇全面的优化文章,但是苦于没有相关书籍参考,也没有发现网络牛人有总结帖或文章之类的,所以就根据个人理解和经验写一些能优化程序效率的东西吧。这篇是不敢称全面的
一、先说一下shell脚本语言自身的局限性
作为解释型的脚本语言,天生就有效率上边的缺陷。尽管它调用的其他命令可能效率上是不错的。
shell脚本程序的执行是顺序执行,而非并行执行的。这很大程度上浪费了可能能...
阅读(30) 回复(0)
--判断程序是否在运行
PROCESS_PATH1=/app/nt_intel/zte_ips/bin
PROCESS_NAME2=zte_ips
PROCESS_ID2=`ps -ef|grep $PROCESS_NAME2|grep -v &grep&|awk '{print $2}'`
PROCESS_ID8=`ps -ef|grep $PROCESS_NAME2|grep -v &grep&|awk '{print $8}'`
cur_date=`date`
if ( test -n $PROCESS_ID2 )
echo &[$cur_date] $PROCESS_NAME2 is running,pid=$PROCESS_ID2,$PROCESS_ID8&
阅读(0) 回复(0)
在shell中常用的特殊符号罗列如下:
# ;; . , / \\ 'string'| !
\&string\&* **
$@ `command`{}
[] [[]] ()
&& {xx,yy,zz,...}~
# 井号 (comments)
这几乎是个满场都有的符号,除了先前已经提过的\&第一行\&
#!/bin/bash
井号也常出现在一行的开头...
阅读(0) 回复(0)
ssh user@server bash & /path/to/local/script.sh
ssh到远程服务器执行一个脚本,此命令可以避免将脚本上传到远程服务器
ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
比较远程文件和本地文件的差异
vim scp://username@host//path/to/somefile
vi一个远程文件
curl ifconfig.me
在内网下查看公网ip
echo ${#a}
取变量字符个数
函数名变量,打印该变量会输出当前的函数名称
一.变量命名
阅读(60) 回复(0)
ssh user@server bash & /path/to/local/script.sh
ssh到远程服务器执行一个脚本,此命令可以避免将脚本上传到远程服务器
ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
比较远程文件和本地文件的差异
vim scp://username@host//path/to/somefile
vi一个远程文件
curl ifconfig.me
在内网下查看公网ip
echo ${#a}
取变量字符个数
函数名变量,打印该变量会输出当前的函数名称
一.变量命名
阅读(0) 回复(0)
盛拓传媒:
北京皓辰网域网络信息技术有限公司. 版权所有
北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证:编号(京)字第1149号
ITPUB推荐文章解答你所有技术难题Shell脚本传递参数的3种方法比较
投稿:junjie
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Shell脚本传递参数的3种方法比较,本文直接给出代码示例,在代码中包含详细注解,需要的朋友可以参考下
#!/bin/bash
#extracting command text_text_text_line options as parameters
help_info(){
echo "NAME"
echo "\t$0"
echo "SYNOPSIS"
echo "\t$0 is a shell test about process options"
echo "DESCRIPTION"
echo "\toption like -a -b param1 -c param2 -d"
if [ $# -lt 0 ]
nomal_opts_act()
echo -e "\n### nomal_opts_act ###\n"
while [ -n "$1" ]
case "$1" in
echo "Found the -a option"
echo "Found the -b option"
echo "The parameter follow -b is $2"
echo "Found the -c option"
echo "The parameter follow -c is $2"
echo "Found the -d option"
echo "$1 is not an option"
#用shell命令自建的选项解析,可以按照自己的想法实现
#优点:自己定制,没有做不到,只有想不到
#缺点:麻烦
getopt_act()
echo -e "\n### getopt_act ###\n"
GETOPTOUT=`getopt ab:c:d "$@"`
set -- $GETOPTOUT
while [ -n "$1" ]
case $1 in
echo "Found the -a option"
echo "Found the -b option"
echo "The parameter follow -b is "$2""
echo "Found the -c option"
echo "The parameter follow -c is "$2""
echo "Found the -d option"
echo "Unknow option: "$1""
param_index=1
for param in "$@"
echo "Parameter $param_index:$param"
param_index=$[ $param_index + 1 ]
#用getopt命令解析选项和参数
#优点:相对与getopts来说是个半自动解析,自动组织选项和参数,用 -- 符号将选项与参数隔开
#缺点:相对于getopts的缺点
#1.需要与set -- 命令配合,不是必须,需要手动shift
#2.选项参数中不支持空格如 -a -b dog -c "earth moon" -d -f param1 param2 就会解析错误
getopts_act()
echo -e "\n### getopts_act ###\n"
while getopts :ab:c:d ARGS
case $ARGS in
echo "Found the -a option"
echo "Found the -b option"
echo "The parameter follow -b is $OPTARG"
echo "Found the -c option"
echo "The parameter follow -c is $OPTARG"
echo "Found the -d option"
echo "Unknow option: $ARGS"
shift $[ $OPTIND -1 ]
param_index=1
for param in "$@"
echo "Parameter $param_index:$param"
param_index=$[ $param_index + 1 ]
#getopts 命令解析选项和参数
#优点:可在参数中包含空格如:-c "earth moon"
选项字母和参数值之间可以没有空格如:-bdog
可将未定义的选项绑定到?输出
Unknow option: ?
nomal_opts_act -a -b dog -c earth -d -f param1 param2
getopts_act -a -b dog -c "earth moon" -d -f param1 param2
getopt_act -a -b dog -c earth -d -f param1 param2
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具博客访问: 3892603
博文数量: 622
博客积分: 1548
博客等级: 上尉
技术积分: 16307
注册时间:
认证徽章:
http://www.csdn.net/
https://www.kernel.org/
http://www.51develop.net/
http://www.
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
在脚本中调用另一脚本(这实际上创建了一个子进程)
#!/bin/bash
echo "this is the father"
FILM="A Few Good Men"
echo "I like the film : $FILM"
#call the child script
#export FILM
./child.sh
echo "back to father"
echo "and the film is : $FILM"
#!/bin/bash
echo "called from father...i am the child"
echo "filem name is : $FILM"
FILM="Die Hard"
echo "changing film to :$FILM"
结果如下:
解析:这是因为 father 中并没有导出变量 FILM 给 child。
当 father 把 变量 FILM 导出给 child,child脚本就知道了 FILM变量的值了,结果如下:
因为 father 把变量 FILM用 export命令导出了,所以任意的脚本都可以使用 变量 FILM 了,它们将继承的 FILM的所有权。
需要注意的是:不可以将子进程的变量导出到父进程;要实现这一点,可以通过重定向。
阅读(6780) | 评论(0) | 转发(3) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。后使用快捷导航没有帐号?
查看: 17|回复: 0
Shell 传递参数
高级会员, 积分 602, 距离下一级还需 398 积分
论坛徽章:4
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
实例以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名:
创建文件 test.sh
输入以下内容
echo &Shell 传递参数实例!&;echo &执行的文件名:$0&;echo &第一个参数为:$1&;echo &第二个参数为:$2&;echo &第三个参数为:$3&;
为脚本设置可执行权限,并执行脚本,输出结果如下所示:
$ chmod +x test.sh $ ./test.sh 1 2 3Shell 传递参数实例!执行的文件名:./test.sh第一个参数为:1第二个参数为:2第三个参数为:3
另外,还有几个特殊字符用来处理参数:
&& 参数处理 说明 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数。
如&$*&用「&」括起来的情况、以&$1 $2 … $n&的形式输出所有参数。 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
如&$@&用「&」括起来的情况、以&$1& &$2& … &$n& 的形式输出所有参数。
$- 显示Shell使用的当前选项,与功能相同。 $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。shell基本类型和参数传递 - CSDN博客
shell基本类型和参数传递
【shell字符串】
字符串可以用单引号,也可以用双引号,也可以不用引号。
1.&&&&&&&&单引号
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
单引号字串中不能出现单引号(对单引号使用转义符后也不行)。
2.&&&&&&&&双引号
双引号里可以有变量
双引号里可以出现转义字符
3.&&&&&&&&获取字符串长度
string=&abcd&
echo${#string} #输出 4
4.&&&&&&&&提取子字符串
string=&runoob is a greatsite&
echo${string:1:4} # 输出 unoo
从字符串第 2 个字符开始截取 4 个字符
5.&&&&&&&&查找子字符串
string=&runoob is a greatcompany&
echo `expr index &$string& is`& # 输出 8
查找字符 &i 或 s& 的位置。&`& 是反引号,而不是单引号 &'&
bash支持一维数组,不限定数组大小。在Shell中,用括号来表示数组,数组元素用&空格&符号分割开。
1.&&&&&&&&定义数组
数组名=(值1值2 ...值n)
2.&&&&&&&&读取数组
${数组名[下标]}
使用@符号可以获取数组中的所有元素
echo ${array_name[@]}
3.&&&&&&&&获取数组长度
# 取得数组元素的个数
length=${#array_name[@]}
length=${#array_name[*]}
# 取得数组单个元素的长度
lengthn=${#array_name[n]}
【传递参数】
脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
$#&&&& 传递到脚本的参数个数
$*&&&& 以一个单字符串显示所有向脚本传递的参数。如&$*&用「&」括起来的情况、以&$1 $2 … $n&的形式输出所有参数。
$$&&&& 脚本运行的当前进程ID号
$!&&&& 后台运行的最后一个进程的ID号
$@&& 与$*相同,但是使用时加引号,并在引号中返回每个参数。如&$@&用「&」括起来的情况、以&$1& &$2& … &$n& 的形式输出所有参数。
$-&&&&& 显示Shell使用的当前选项,与set命令功能相同。
$?&&&& 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
$* 表示以字符串方式传递了一个参数,$@表示传递了多个参数。
本文已收录于以下专栏:
相关文章推荐
写一个 程序名为    test.sh    可带参数为
start 和 stop
执行  test.sh
执行  start
内容的代码
把良师、益友、说的话作为勉励自己的笔记!
二维数组定义的格式。
class  Array2Demo
public static void main(Stri...
1.Java参数传递方式
网络上有很多地方都说明java的参数传递方式是值传递,虽然其最终的解释是正确的。但我认为值传递定义为java参数传递方式并不妥。
可以分成两种,便于记忆和理解:1.基本数...
基本数据类型参数传递:
          
主函数进栈,定义x变量并赋值;调用show方法,show方法进栈,定义变量x;将参数x赋值给show方法中的x,此时show方法中的x为3;...
ECMAScript的数据有两种类型:基本类型值和引用类型值,基本类型指的是简单的数据段,引用类型指的是可能由多个值构成的对象。
Undefined、Null、Boolean、Number和Strin...
//基本数据类型参数传递class Demo
public static void main(String [] args)
Java中没有指针,没有引用传递了,仅仅有值传递。但是可以通过对象的方式来实现引用传递 类似java没有多继承 但可以用多次implements 接口实现多继承的功能。
值传递:方法调用时,实际参数...
1,传递基本类型参数,请看下面例子
function addNum(num) {
num + = 10;
var count = 20;
最近在优化日志打印内容,能够记录方法参数名及对应值,对现有贴子进行代码优化,贴上代码片段。
js中有一个方法eval,能够随时执行用户编写的代码。
例如:js中的代码:
eval(&alert('hello world');&);
将会弹出一个写有hello world的提示框。
...
他的最新文章
讲师:宋宝华
讲师:何宇健
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 shell向perl传递参数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信