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 构建基本脚本的更多相关文章

  1. LR12.53—第1课:构建Vuser脚本

    第1课:构建Vuser脚本 要生成系统上的负载,首先建立一个可以运行以模拟真实用户行为Vuser脚本.您使用VuGen创建和构建Vuser脚本. 在这一课中,你将涵盖以下主题: 介绍VuGen将 - ...

  2. Linux编辑器|gedit|vi|vim编辑器

    gedit编辑器 gedit是一个Linux环境下的文本编辑器,类似windows下的写字板程序,在不需要特别复杂的编程环境下,作为基本的文本编辑器比较合适. sublime编辑器 Sublime T ...

  3. 4.Vim编辑器与Shell命令脚本

    第4章 Vim编辑器与Shell命令脚本 章节简述: 本章首先讲解如何使用Vim编辑器来编写.修改文档,然后通过逐个配置主机名称.系统网卡以及Yum软件仓库参数文件等实验,帮助读者加深Vim编辑器中诸 ...

  4. Android:JNI与NDK(三)NDK构建的脚本文件配置

    友情提示:欢迎关注本人公众号,那里有更好的阅读体验以及第一时间获取最新文章 本文目录 一.前言 本篇我们介绍Android.mk与CMakeLists.txt构建NDK的配置文件,我们知道目前NDK的 ...

  5. 《Linux就该这么学》培训笔记_ch04_Vim编辑器与Shell命令脚本

    <Linux就该这么学>培训笔记_ch04_Vim编辑器与Shell命令脚本 文章最后会post上书本的笔记照片. 文章主要内容: Vim编辑器 Shell脚本 流程控制语句 if语句 f ...

  6. Ant 构建 Jmeter脚本报错详解

    在搭建Ant构建Jmeter脚本的时候,小组成员遇到了各种问题. 再这里总结一下,遇到类似问题的可以做个参考 1.提示 does not exist 解决方案: 出现这种的问题原因有很多. 先排除权限 ...

  7. 解决ubuntu下的文本编辑器gedit的乱码问题

    缺省配置下,用 Ubuntu 的文本编辑器(Gedit)打开GB18030(繁体中文用户请将这里的出现的GB18030替换成BIG5或BIG5-HKSCS)类型的中文编码文本文件时,将会出现乱码. 出 ...

  8. Vim编辑器与Shell命令脚本

    章节简述: 本章节将教给您如何使用Vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键. 我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(if. ...

  9. Jenkins构建自动化脚本执行无界面解决方法

    场景: jenkins构建selenium自动化用例的时候,会有jenkins自带服务后台运行自动化脚本,可无界面运行IE.Chrome.Firefox. 然而运行IE浏览器时候(IE比较特殊),Je ...

随机推荐

  1. MTP in Android详解

    MTP in Android详解 最近好长一段时间没有做笔记了,今天主要学习一下MTP相关的知识. MTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套 ...

  2. Mac MySQL 转移 datadir

    mysql默认的datadir在启动盘上面,有时database太大,于是决定将datadir迁到存储盘中 Step 1 将原datadir迁到存储盘 mv /usr/local/var/mysql ...

  3. echarts图表标签(axisLabel)折行

    在项目中遇到了一个echarts图表标签过长需折行的需求,so引出这篇总结,啦啦啦有帮助就多多支持啦,撒花撒花撒花~~~~ 在此不对echarts其他用法做解释,详细见echarts文档(点击前往) ...

  4. Poco C++ MySQl demo

    #include "Poco/Exception.h"#include "Poco/Data/Session.h"#include "Poco/Dat ...

  5. 什么是html技术

    HTML(Hyper Text Mark-up Language )即超文本标记语言,是 WWW 的描述语言,由 Tim Berners-lee提出.设计 HTML 语言的目的是为了能把存放在一台电脑 ...

  6. 为什么js加事件时不要写括号

    function al(){alert("我擦")}此时,al代表这个函数的对象,al()就是直接运行了.var nfun=al;就是让nfun也指向了al,此时nfun()就相当 ...

  7. 【转载】App.config/Web.config 中特殊字符的处理

    写一个网站,遇到一个问题,发布以后,提示错误,但是即使打开错误提示(在web.config中打开),还是只提示错误,没提示什么地方错误,这让我知道了:是webconfig本身的错误,经过排除,是链接字 ...

  8. Jenkins的配置(rpm red hat方式)

    Jenkins的配置文件位置 #### sudo chown -R admin /usr/lib/jenkins sudo chgrp -R admin /usr/lib/jenkins #### s ...

  9. Windows 10 安装TA-Lib python库

    由于需要和朋友比对一个结果,需要在Windows 10中安装TA-Lib库,写点简单的python代码. 本来以为就简单的执行下pip install TA-Lib就OK了. 然后,安装失败: fat ...

  10. android Sqlite select * from myDatabase没有内容的问题

    没什么好说的,但是却在初学的时候弄了很久,百度google查了很多资料.后来才发现,竟然是少了个分号结束符的原因. 开始怀疑人生了...