GNOME编辑器--gedit 构建基本脚本
gedit factorial.sh myprog.c
当你启动gedit外带多个文件时,它会将所有的文件都加载到不同的缓冲区并在主编辑器窗口中按标签化的窗口来显示每个文件。
shell脚本的关键在于输入多个命令并处理每个命令的结果,即使有可能将一个命令的结果传给另一个命令。shell允许你只用一步就将多个命令串连起来使用。
如:date;who
你可以将命令合成一个简单的文本文件,在需要运行这些命令时,可以简单运行这个文本文件。
创建shell脚本文件
在创建shell脚本文件时,必须在文件的第一行指定要使用的shell。格式:
#!/bin/bash
在通常的shell脚本的行里,井号(#)用作注释行。shell脚本中的注释行是不被shell执行的。然后,shell脚本文件的第一行是个特例,井号后接感叹号是告诉shell用哪个shell来运行脚本。
脚本中的内容,如有需要,可用分号来在一行输入你要用的两个命令。但在shell脚本中,你可以在不同行里列出命令。shell会根据命令在文件中出现的顺序来处理命令。
执行脚本,出现:bash:test:command not found问题
因为shell会通过PATH环境变量来查找命令。快速第查看PATH环境变量:
echo $PATH
PATH 环境变量被设成只在一组目录中查找命令。要让shell找到test脚本,可以:
(1)将shell脚本文件所处的目录添加到PATH环境变量中;
(2)在提示符中用绝对或者相对文件路径来引用shell脚本文件。
切记:要引用当前目录下的文件,你要在shell中使用单点操作符:./test
再次执行脚本时,如出现bash:./test:permission denied
查看文件属性,ls -l test
修改文件属性:chmod +777 test
显示消息
有时可以通过echo命令来添加自己的文本消息,来告诉本用户脚本正在做什么。
echo This is a test
this is a test
注意:默认情况下,你不需要使用引号将要显示的文本字符串圈起来。但字符串中出现引号的话可能就比较麻烦:
echo let‘s see if this’ll work
lets see if thisll work
echo命令可用单引号或双引号来将文本字符串圈起来。如果你在字符串中用到了它们,你需要在文本使用其中一种引号,而用另外一种来将字符串圈起来。
echo “This is a test to see if you're paying attention”
This is a test to see if you're paying attention
如果你想在同一行显示一个文本字符串作为命令输出。你可以用echo语句的-n参数。只要将第一个echo语句改成:
echo -n “The time and date are: ”
可以在环境变量名称之前加个美元符($)来在脚本中使用这些环境变量
echo “USER info for userid: $USER”
注意,echo命令中的环境变量会在脚本运行时替换成当前值。
$echo "The cost of the item is $15"
The cost of the item is 5
因为脚本会默认$1为一个变量。再显示5.
要显示美元符号,必须在他前面添加一个反斜线。
$echo "The cost of the item is \$15"
The cost of the item is $15
${var}:变量名两侧额外的花括号通常用来帮助识别美元符号的变量名
GNOME编辑器--gedit 构建基本脚本的更多相关文章
- LR12.53—第1课:构建Vuser脚本
第1课:构建Vuser脚本 要生成系统上的负载,首先建立一个可以运行以模拟真实用户行为Vuser脚本.您使用VuGen创建和构建Vuser脚本. 在这一课中,你将涵盖以下主题: 介绍VuGen将 - ...
- Linux编辑器|gedit|vi|vim编辑器
gedit编辑器 gedit是一个Linux环境下的文本编辑器,类似windows下的写字板程序,在不需要特别复杂的编程环境下,作为基本的文本编辑器比较合适. sublime编辑器 Sublime T ...
- 4.Vim编辑器与Shell命令脚本
第4章 Vim编辑器与Shell命令脚本 章节简述: 本章首先讲解如何使用Vim编辑器来编写.修改文档,然后通过逐个配置主机名称.系统网卡以及Yum软件仓库参数文件等实验,帮助读者加深Vim编辑器中诸 ...
- Android:JNI与NDK(三)NDK构建的脚本文件配置
友情提示:欢迎关注本人公众号,那里有更好的阅读体验以及第一时间获取最新文章 本文目录 一.前言 本篇我们介绍Android.mk与CMakeLists.txt构建NDK的配置文件,我们知道目前NDK的 ...
- 《Linux就该这么学》培训笔记_ch04_Vim编辑器与Shell命令脚本
<Linux就该这么学>培训笔记_ch04_Vim编辑器与Shell命令脚本 文章最后会post上书本的笔记照片. 文章主要内容: Vim编辑器 Shell脚本 流程控制语句 if语句 f ...
- Ant 构建 Jmeter脚本报错详解
在搭建Ant构建Jmeter脚本的时候,小组成员遇到了各种问题. 再这里总结一下,遇到类似问题的可以做个参考 1.提示 does not exist 解决方案: 出现这种的问题原因有很多. 先排除权限 ...
- 解决ubuntu下的文本编辑器gedit的乱码问题
缺省配置下,用 Ubuntu 的文本编辑器(Gedit)打开GB18030(繁体中文用户请将这里的出现的GB18030替换成BIG5或BIG5-HKSCS)类型的中文编码文本文件时,将会出现乱码. 出 ...
- Vim编辑器与Shell命令脚本
章节简述: 本章节将教给您如何使用Vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键. 我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(if. ...
- Jenkins构建自动化脚本执行无界面解决方法
场景: jenkins构建selenium自动化用例的时候,会有jenkins自带服务后台运行自动化脚本,可无界面运行IE.Chrome.Firefox. 然而运行IE浏览器时候(IE比较特殊),Je ...
随机推荐
- IOS设备 UIDevice 获取操作系统 版本 电量 临近手机触发消息检测 (真机亲测可用)
- (void)viewDidLoad { [super viewDidLoad]; // 操作系统 NSString * osName =[[UIDevice currentDevice]syste ...
- linux grep
grep (缩写来自Globally search a Regular Expression and Print) 是一种强大的文本搜 索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Uni ...
- win10删除或更改需要SYSTEM或Administrators权限的文件夹
有时候我们需要删除一些系统文件夹或者文件,但是却经常会出现如下提示: 遇到这些情况,我们可以采用如下的解决手段. 一.右键单击需要更改或删除的文件夹,选择属性. 二.在弹出的窗口菜单里,选择“安全”选 ...
- Roslyn 学习笔记(二)
参考:https://github.com/dotnet/roslyn/wiki/Getting-Started-C%23-Syntax-Analysis 语法分析过程主要用到以下类或结构: Synt ...
- 11.12模拟考T1(可持续优化)PS:神奇的东西
1.数列操作 (array.pas/c/cpp) [问题描述] 现在有一个数列,最初包含0个数.现在要对数列操作n次,操作有3类. 1) a k,在数列的最后插入一个整数k 2) s 将最近插入的 ...
- SPOJ-SUBST1 New Distinct Substrings(后缀数组)
题目大意:判断总共有多少种不同的子串. 题目分析:不同的子串数目为 Σ(后缀SA[i]的长度-height[i]). 代码如下: # include<iostream> # include ...
- 关于C语言的一些trick
很多东西已经记不起来了,想到一点写一点,碰到一点写一点,慢慢累积. 关于# #在宏定义中用于替换传入变量的字符,例如: #define whole_operation(n) do { printf( ...
- Python几种主流框架
从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python Web应用开发框架 Djang ...
- JSBinding / FAQ & Trouble Shooting
Q: Why javascript file extension is .javascript?A: Because Unity treats .js files as Unity script an ...
- 转-decorators.xml的用法-http://blog.csdn.net/gavinloo/article/details/7458062
今天改前人做的项目,用struts2,spring,hibernate框架做的,对了,还有jQuery.我用jquery做异步请求到后台,生成json数据返回前台生成下拉输入框,请求到后台以后,成功生 ...