我们先来说一下 Shell 位置参数是怎么回事。
运行 Shell 脚本文件时我们可以给它传递一些参数,这些参数在脚本文件内部可以使用的形式来接收,例如,$1 表示第一个参数,$2 表示第二个参数,依次类推。
同样,在调用函数时也可以传递参数。Shell 函数参数的传递和其它编程语言不同,没有所谓的形参和实参,在定义函数时也不用指明参数的名字和数目。换句话说,定义 Shell 函数时不能带参数,但是在调用函数时却可以传递参数,这些传递进来的参数,在函数内部就也使用的形式接收,例如,$1 表示第一个参数,$2 表示第二个参数,依次类推。
这种通过的形式来接收的参数,在 Shell 中称为。
在讲解变量的命名时,我们提到:变量的名字必须以字母或者下划线开头,不能以数字开头;但是位置参数却偏偏是数字,这和变量的命名规则是相悖的,所以我们将它们视为“特殊变量”。
除了 $n,Shell 中还有 $#、$*、$@、$?、$$ 几个特殊参数,我们将在下节讲解。
1) 给脚本文件传递位置参数
请编写下面的代码,并命名为 test.sh:
#!/bin/bashecho "Language: $1"echo "URL: $2"
运行 test.sh,并附带参数:
[mozhiyan@localhost ~]$ cd demo[mozhiyan@localhost demo]$ . ./test.sh ShellShellURL:其中是第一个位置参数,
是第二个位置参数,两者之间以空格分隔。
2) 给函数传递位置参数
请编写下面的代码,并命名为 test.sh:
#!/bin/bash#定义函数function func(){echo "Language: $1"echo "URL: $2"}#调用函数func C++运行 test.sh:
[mozhiyan@localhost ~]$ cd demo[mozhiyan@localhost demo]$ . ./test.shLanguage: C++URL:关于函数定义和调用的具体语法请访问:Shell函数定义和调用、Shell函数参数
注意事项
如果参数个数太多,达到或者超过了 10 个,那么就得用的形式来接收了,例如 ${10}、${23}。的作用是为了帮助解释器识别参数的边界,这跟使用变量时加是一样的效果。
下节展望
在 Shell 中,传递位置参数时除了能单独取得某个具体的参数,还能取得所有参数的列表,以及参数的个数等信息,下节我们将会详细讲解。
请问Linux Shell编程的特殊变量有哪些
shell的特殊变量包括它的位置和一些系统变量.常用的一部分列表如下:常用位置变量:$0Shell命令名称(存储shell脚本文件的文件名)$#命令行参数的个数$1,$2, 命令行的第一,第二,第......个参数$$此运行此shell命令的进程ID常用系统变量:$HOME 用户的主目录$USER 用户名称$GROUP用户所属组名$PATH 默认的搜索路径$HOSTNAME主机名称$TZ 时区$MAIL 存放邮件的路径名
如何删除autorun.inf的文件夹?
假如要删除位于C盘的话,运行CMD.在窗口输入cd \回车.再输入rmdir /s 回车.提示后按Y回车.就可以删掉C盘的.其他盘的把提示符切换到其他盘下进行操作即可.一定可以搞定.
Win7新功能shell命令如何使用?
Windows7相对Vista的系统提升是较大的,稳定性、兼容性、人性化等都有较。 而Windows7中的shell命令行,则是许多用户都没有发现的又一重要更新,Windows7 shell是Win7系统的控制台。 对于熟悉了命令行的人来说,用键盘调用程序比鼠标更快更省力。 用户可以用“Shell:”命令调用一切可以用资源管理器打开的项目一次完需要很多步骤才能完成的任务,并且使用时的语法也很简单。 但许多用户都不知道shell命令有哪些,与可实现的操作,那么接下来我们将对Vista之家下常用shell命令进行全面解析,帮助用户了解新系统下的新命令。 这有点类似于xp系统下的 运行 程序命令的作用。 shell:Profile该命令可以打开用户的总目录。 在常规安装的情况下,位置是c:\users\username。 你也可以通过点击系统开始菜单上的用户名称访问。 也可以通过系统环境变量%userprofile%访问。 shell:Personal这个命令可以打开当前用户的文档文件夹。 也可以通过点击开始菜单中的我的文档进行访问。 shell:SendTo这个命令可以访问系统“发送到”文件夹。 如果你进入你的个人文件夹,会发现这个文件夹是隐藏的,如果试图双击进入,就会显示错误信息,通过 shell命令则可以正常访问。 这是因为这个快捷方式实际上是个跳转入口,为了向后兼容所创建。 而真正的SendTo文件夹是隐藏在AppData文件夹下的若干子文件夹。 shell:Public这个命令可以打开公用共享文件夹。 如果你使用了家庭组功能,这个命令可以在一个窗口之内先是信息。 shell:Common Startup和shell:Startup这个命令可以显示哪些程序在系统启动时会自动启动。 有时程序安装的时候会自动在启动菜单中建立一个快捷方式。 shell:ConnectionsFolder这个命令可以显示当前网络连接。 这个命令应该是查看当前网络连接最快捷的方式了。 通常的方法是单击网络和共享中心,然后选择更改适配器设置查看。 shell:programs和shell:Common Programs这两个命令可以访问当前用户和系统用户开始菜单中的程序列表。 shell:AppData和shell:Local AppData这两个命令可以打开Roaming Application Data(漫游应用数据文件夹)Local Application Data(本地应用数据文件夹)。 这两个文件夹在日常应用中不常用到,你可以发现,像Firefox之类的应用程序在这个文件夹下存储配置信息。 shell:Cookies和shell:cache这两个命令是查看Internet Explorer存储信息最快捷的方式。 shell:Profile当前登录用户的根目录shell:UsersFilesFolder与shell:profile相同shell:Personal当前登录用户的“我的文档”文件夹shell:My Music当前登录用户的“我的音乐”文件夹shell:My Pictures当前登录用户的“我的图片”文件夹shell:My Video当前登录用户的“我的视频”文件夹shell:Contacts当前登录用户的联系人文件夹shell:DeskTop当前登录用户的桌面文件夹shell:Downloads当前登录用户的下载文件夹shell:Favorites当前登录用户的Internet Explorer浏览器收藏夹shell:Searches当前登录用户的搜索文件夹,保存了已经存储过的搜索结果shell:Links当前登录用户的链接文件夹,保存了Internet Explorer浏览器的导航面板shell:Public访问共享用户文件夹shell:Common Desktop共享用户桌面shell:Common Documents共享用户我的文档shell:CommonDownloads共享用户下载文件夹shell:CommonMusic共享用户音乐文件夹shell:CommonPictures共享用户图片文件夹 以上就是win 7中一种比较新颖的功能,类似于windows xp 中的 运行命令,只是win 7操作系统功能更加强大而已,希望大家可以灵活掌握。
发表评论