【BASH】通过变量运行命令
2009-05-05 15:07
274 查看
问题:
你希望根据实际情况运行不同的命令,怎么去实现呢?
解决方案:
有很多问题解决这个问题,这也是脚本要解决的。后面的章节中有很多的编程逻辑可以解决这个问题,比如if/then/else,case语句。
FN=/tmp/x.x
PROG=echo
$PROG
$FN
PROG=cat
$PROG
$FN
讨论:
我们可以将程序名赋给变量上面的例子是$PROG,后面要用这个命令的时候就使用这个变量,bash可以分析命令行,并用变量的值替换,然后执行它,就跟你手动输入的一样。
注意:
值得注意的一点是。有的程序会使用一些环境变量比如$ZIP和$UNZIP来传递参数。如果你设定ZIP='/usr/bin/zip',你可以用上几天的时间来思考为什么在命令行能正确执行但是到了脚本里面就错误。
你希望根据实际情况运行不同的命令,怎么去实现呢?
解决方案:
有很多问题解决这个问题,这也是脚本要解决的。后面的章节中有很多的编程逻辑可以解决这个问题,比如if/then/else,case语句。
FN=/tmp/x.x
PROG=echo
$PROG
$FN
PROG=cat
$PROG
$FN
讨论:
我们可以将程序名赋给变量上面的例子是$PROG,后面要用这个命令的时候就使用这个变量,bash可以分析命令行,并用变量的值替换,然后执行它,就跟你手动输入的一样。
注意:
值得注意的一点是。有的程序会使用一些环境变量比如$ZIP和$UNZIP来传递参数。如果你设定ZIP='/usr/bin/zip',你可以用上几天的时间来思考为什么在命令行能正确执行但是到了脚本里面就错误。
相关文章推荐
- 如何在 Linux 上运行命令前临时清空 Bash 环境变量
- centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课
- 【Linux】ls命令源代码(能编译运行通过的)
- 通过shell命令杀死某个正在运行的程序
- Windows下环境变量修改(涉及MySQL命令的直接运行)
- Tomcat启动时一闪而过,但是jdk环境变量配置正确,并使用java或者javac命令多可以运行,但是tomcat不能运行解决办法。
- linux学习入门1——bash命令基本操作(linuxcast.net)(bash部分快捷键、uname、history、通配符、切换用户、作业管理(前台、后台运行,暂停等操作))
- Bash中运行脚本,export变量
- 运行fdisk命令时,弹出 bash:fdisk:command not found
- linux的export命令和profile,.bashrc,bash.profile各种环境变量文件
- Objective-C 通过运行时遍历类所有成员变量
- 通过HISTFILE变量实现在Linux下的用户登录和命令操作的监控
- BASH命令和SHELL脚本总结(16)父脚本中export的变量在子脚本中的可见性测试
- 为何bash中一条命令的输出保存到变量之后换行符变成了空格
- 通过LotusScript运行服务器命令
- crontab 运行命令与环境变量
- 通过profile 用maven命令打不同配置的变量包
- 通过profile 用maven命令打不同配置的变量包
- cmd运行Java命令时编译通过,但是找不到主类或无法加载主类