Linux之 if命令——简单的shell文件
如何写一个shell文件,写一个小脚本
1、新建一个脚本文件:vi demo.sh
2、追加执行权限: chmod u+x demo.sh
3、执行脚本:./demo.sh
4、什么是脚本?把一堆命令放到一个文件里面,然后只需要执行文件就可以。
5、脚本的目的?尽可能的简化我们的操作,让效率更高。
6、test ls 检测该条命令是否成功
7、echo $? 检测上一条命令是否成功 ,打印为0 代表成功,只要不是0都是失败的。
8、test 'a'='a' >> [[ 'a' = 'a' ]] equal = 判断字符串相等
9、[[ -n 'a' ]] —— -n 判断字符串的长度不为0
[[ -z 'a' ]] —— -n 判断字符串的长度为0
[[ 'a' = 'a' ]] —— = 判断字符串相等
[[ 'a' != 'a' ]] ——!=判断两个字符串不等
[[ 1 -eq 2 ]] —— -eq判断数字 相等
[[ 1 -ge 2 ]] —— -ge判断数字1 大于 等于数字2
[[ 1 -gt 2 ]] —— -gt判断数字1 大于 数字2
[[ 1 -le 2 ]] —— -le判断数字1 小于 等于数字2
[[ 1 -lt 2 ]] —— -lt判断数字1 小于 数字2
9、逻辑运算符
and >>>> -a ——[[ 'a' = 'a' -a 'b' = 'b' ]]
or >>>> -o —— [[ 'a' = 'a' -o 'b' = 'b' ]]
if的时候[ ]要去掉一个
10、if语句----登录小练习
vim login.sh
#!/bin/bash
read -p '请输入用户名' username
read -p '请输入密码' passwd
user='wuzm'
password='123456'
if [ $username = $user -a $passwd = $password ];then
echo "欢迎wuzm!"
else
echo "密码错误"
fi

增加执行权限:chmod u+x login.sh
执行脚本:./login.sh
Linux之 if命令——简单的shell文件的更多相关文章
- linux:使用comm命令比较两个文件:交集、差
linux:使用comm命令比较两个文件:交集.差 comm命令可以按行比较两个排序好的文件,输出有3列:第一列是file1独有的.第二列是file2独有的,第三列是两者都有的,简单语法如下:NAME ...
- Linux下面使用命令如何运行.sh文件的两种解决办法
Linux下面用命令如何运行.sh文件的方法,有两种方法: 一.直接./加上文件名.sh,如运行hello.sh为./hello.sh[hello.sh必须有x权限] 二.直接sh 加上文件名.sh, ...
- 如何在linux下编写一个简单的Shell脚本程序
在了解了linux终端和其搭配的基本Shell(默认为bash)的基础下,我们就可以在终端中用vi/vim编辑器编写一个shell的脚本程序了 Shell既为一种命令解释解释工具,又是一种脚本编程语言 ...
- Linux下用命令来执行kettle文件资源库的文件ktr与kjb的方法
转载地址: https://blog.csdn.net/zuolovefu/article/details/78083445 1. 准备工作 一个简单的job,一个简单的trans. trans:读取 ...
- Linux——模拟实现一个简单的shell(带重定向)
进程的相关知识是操作系统一个重要的模块.在理解进程概念同时,还需了解如何控制进程.对于进程控制,通常分成1.进程创建 (fork函数) 2.进程等待(wait系列) 3.进程替换(exec系列) 4 ...
- php多进程结合Linux利器split命令实现把大文件分批高效处理
有时候会遇到这样的需求,比如log日志文件,这个文件很大,甚至上百M,需要把所有的日志拿来做统计,这时候我们如果用单进程来处理,效率会很慢.如果我们想要快速完成这项需求,我们可以利用Linux的一个利 ...
- Linux 使用Crontab设置定时调用Shell文件
定时执行步骤: 利用crontab来定时执行任务大致有如下两步: 1.编写shell脚本 2.利用crontab加入到定时任务队列 一.如何建立shell脚本 程序必须以下面的行开始(必须方在文件的第 ...
- Linux的各种命令(android adb shell)
win+r 调出运行,输入CMD adb shell 进入手机的控制终端,相当于原生的Linux系统的各种操作. 当提示符为$符号,说明未获得超级管理员权限,输入su,可编程# adb kill-se ...
- Linux——权限管理命令简单笔记
首先linux中的权限分为三种rwx 代表字符 权限 对文件的含义 对目录的含义 r 读权限 可以查看文件 内容 (cat, more, head, tail) 可以列出目录中 的内容 (ls) w ...
随机推荐
- [SDOI2016] 模式字符串 (BZOJ4598 & VIJOS1995)
首先直接点分+hash就可以做,每个点用hash判断是否为S重复若干次后的前缀或后缀,每个子树与之前的结果O(m)暴力合并.在子树大小<m时停止分治,则总复杂度为O(nlog(n/m)). 问题 ...
- HNOI2008 越狱 (组合数学)
传送门 应该是HNOI2008年最简单的一道题了吧……简单的组合数题,不过要换个思路. 我们直接考虑发生越狱的情况似乎有点复杂,那我们换个思路,考虑不发生越狱的情况,也就是两个有相同宗教的人不会坐在一 ...
- 05:LGTB 与偶数
总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 LGTB 有一个长度为 N 的序列.当序列中存在相邻的两个数的和为偶数的话,LGTB 就能把它 ...
- [yii]Fetch data from database and create listbox in yii
<?php $records = User::model()->findAll(); $list = CHtml::listData($records, 'id', 'username') ...
- eclipse恢复界面默认设置
使用eclipse的时候有时候会一不小心把一些界面设置给弄乱,可以恢复默认界面设置 eclipse导航栏window选项卡 找到Perspective->点击Reset Perspective ...
- bzoj1304
树形dp 题目是要求最深的颜色 先开始觉得设dp[i][0/1/2]表示这个点的状态,然后发现没办法保证该点是最深的点,且dp状态没有实际意义,其实dp[i][0/1]表示当前i的子树颜色为c^1的叶 ...
- UVa 1642 Magical GCD (暴力+数论)
题意:给出一个长度在 100 000 以内的正整数序列,大小不超过 10^ 12.求一个连续子序列,使得在所有的连续子序列中, 它们的GCD值乘以它们的长度最大. 析:暴力枚举右端点,然后在枚举左端点 ...
- Gradle技术之四 - Gradle的Task详解
1 Gradle的Task详解 1 Task定义和配置 2 Task的执行 3 Task的依赖和执行顺序 4 Task类型 5 Task结合gradle的生命周期 6 Task实战 1.1 Task定 ...
- css margin边界叠加问题详谈
问题:给子元素一个margin-top值,其父元素会跟着往下走margin-top的值 一.代码展示 HTML <body> <div class="box"&g ...
- 51nod 1268【dp】
思路: 很水的dp吧...问的都是能否组成.. 哦对,这里sum最大才2e7,不会是2e9所以放心dp #include<cstdio> #include <map> #inc ...