bash是linux操作系统的shell。以下是Multi-Perspective Sentence Similarity Modeling论文实现时碰到的一个bash:

#!/bin/bash
python2.7 scripts/download.py glove_dir="data/glove"
glove_pre="glove.840B"
glove_dim="300d"
if [ ! -f $glove_dir/$glove_pre.$glove_dim.th ]; then
th scripts/convert-wordvecs.lua $glove_dir/$glove_pre.$glove_dim.txt \
$glove_dir/$glove_pre.vocab $glove_dir/$glove_pre.$glove_dim.th
fi

1.bash中:

变量赋值

[root@localhost ~]# ID="我是变量ID哦!"

变量读取

[root@localhost ~]# echo $ID
我是变量ID哦!
[root@localhost ~]#

所以在bash中$就表示对变量的引用

2.      if [ ! -f $glove_dir/$glove_pre.$glove_dim.th ]; then 表示的是这个普通文件如果不存在,然后

3. 在终端中通过vim a.sh创建一个.sh文件,然后进入vim编辑器编辑

if [ ! -f ~/zhou ]; then
echo 'hello world'
fi 注意在if后面必须空格,[]中的!之前,zhou之后也都必须空格,这是bash的格式,不然要报错

在~目录下创建了a目录(通过在~目录下mkdir zhou),执行a.sh,会显示hello world(因为zhou是一个目录,而不是普通文件)。若把-f换成-d就不会输出hello world,当然把!去掉,-f换成-d会输出hello world

4.

one.sh是一个存在于~下的文件,执行下列两个代码都会输出hello world

if [ -f ~/one.sh ]; then
echo 'hello world'
fi

if [ ~/one.sh ]; then
echo 'hello world'
fi

zhou是一个存在与~下的目录,执行下列两个代码都会输出hello world
if [ -d ~/zhou ]; then
echo 'hello world'
fi if [ ~/zhou ]; then
echo 'hello world'
fi
由以上的几个例子可以看出,if后面判断的是是否存在,添加-f或-d并不是判断后面的东西是不是为文件或者目录,而是表明后面东西的属性,即判断目录a或者文件a存在与否

4.shell的echo命令是用于字符串的输出

echo "It is a test"

echo It is a test

这两个命令显示结果是一样的
read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量
#!/bin/sh
read name
echo "$name It is a test" 以上代码保存为 test.sh,name 接收标准输入的变量,结果将是:
[root@www ~]# sh test.sh
OK #标准输入
OK It is a test #输出


bash中一些基础知识的更多相关文章

  1. 第76节:Java中的基础知识

    第76节:Java中的基础知识 设置环境,安装操作系统,安装备份,就是镜像,jdk配置环境,eclipse下载解压即可使用,下载tomcat 折佣动态代理解决网站的字符集编码问题 使用request. ...

  2. 性能测试学习 第九课--LR12中controller基础知识

    1.设计手工场景,理解集合点的策略 2.添加load generator 一.controller基础知识 1.controller的原理 通过场景设计来模拟用户的真实操作并调用vugen中的脚本,然 ...

  3. 活到老学到老:iOS开发中的基础知识(一)

    本文参考 标哥的博客:宝库iOS开发笔试题 进行学习整理.与其说是看面试题,不如说是对自己知识的巩固.工欲善其事必先利其器,基础知识不牢固可能会导致编程中的一些注意不到的问题.总之一句话:活到老,学到 ...

  4. C语言中的基础知识变量探讨

    C语言中的变量是编程的基础,主要有四个要素:存储类型.存储大小.存储名称和存储地址. 一.变量的要素: 1.存储类型:主要表明名变量存储的特征,主要有auto.extern.static和regist ...

  5. javascript中DOM基础知识介绍

    1.1.     基本概念 1.1.1.      DOM DOM Document Object Model 文档对象模型 就是把HTML文档模型化,当作对象来处理 DOM提供的一系列属性和方法可以 ...

  6. Shiro learning - 入门学习 Shiro中的基础知识(1)

    Shiro入门学习 一 .什么是Shiro? 看一下官网对于 what is Shiro ? 的解释 Apache Shiro (pronounced “shee-roh”, the Japanese ...

  7. 微信小程序之组件开发中的基础知识

    跟着视频开始小程序的项目的开发,视频中这个小程序已经上线了,可以很好的看着小程序的界面进行开发,昨天看了一下具体的需求,觉得真的细节好多啊,而且其中设计的组件的思想也是很好的,能够很好的实现代码的复用 ...

  8. 关于CSS格式与布局中的基础知识的简单操作

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. JavaScript基础知识从浅入深理解(一)

    JavaScript的简介 javascript是一门动态弱类型的解释型编程语言,增强页面动态效果,实现页面与用户之间的实时动态的交互. javascript是由三部分组成:ECMAScript.DO ...

随机推荐

  1. java通过LinkedList实现堆栈和队列数据结构

    package shb.java.demo3; import java.util.LinkedList; public class TestLinkedList { /** * @author sha ...

  2. c#读取INI文件类

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;na ...

  3. paper 45:latex的使用

    本教程面向对LaTeX完全无认知无基础的新人. 旨在让新人能够用最简单快捷的方式,轻松入门,能够迅速使用LaTeX完成基本的文本编辑. 尤其旨在破除部分新人对LaTeX在传闻中难以学习的恐惧感. 在入 ...

  4. 夺命雷公狗—angularjs—18—angularjs的事件

    对于一款前端框架,提起事件,很容易让人联想到DOM事件,比如说鼠标点击以及页面滚动等.但是我们这里说的angular中的事件和DOM事件并不是一个东西. 事件的发布 我们可以通过 $emit() 以及 ...

  5. Immediate assertion

    Imemdiate assertion可以放在任何procedural statement中, assertion被执行判断,当这个procedural code被执行的时候.其他时间是不会被执行的. ...

  6. mysql 管理工具

    摘自: http://www.chinaz.com/free/2009/0306/68691.shtml MySQL是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购.目前 ...

  7. HTML5动画软件工具编辑器 HTML5动画分类 工具推荐

    接下来介绍几款制作HTML5动画的工具,它们可以分为几类: 1.导出canvas动画: Flash CC(13.1).Animation.Radi 2.导出DIV+CSS3动画: HTML5 Make ...

  8. linux 程序或服务开机自启动

    chkconfig --level 35 服务名 on或写启动脚本到/etc/rc.local/下

  9. django form使用学习记录

    Django forms使用容易, 又方便扩展, 因此Django admin和CBVs基本都基于forms使用. 事实上, 由于django forms的强大验证功能, 大多数Django API ...

  10. 数据库订正脚本性能优化两则:去除不必要的查询和批量插入SQL

    最近在做多数据库合并的脚本, 要将多个分数据库的表数据合并到一个主数据库中. 以下是我在编写数据订正脚本时犯过的错误, 记录以为鉴. 不必要的查询 请看以下语句: regiondb = db.Houy ...