ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux命令8

2021-05-17 11:33:28  阅读:107  来源: 互联网

标签:bin 变量 SUM echo 命令 sh Linux bash


安装
javaee
jdk
mysql
apache
ideaIU

shell编程 x.sh脚本

格式要求:
1.脚本以#!/bin/bash开头
2.脚本要有可执行权限
vim hello.sh
写上:

!/bin/bash

echo "hello,world"
保存退出
sh hello.sh
chmod u+x hello.sh
./hello.sh
完成

shell变量
分系统变量和用户自定义变量
系统变量:set查看
自定义变量:
定义:变量名=值
撤销变量:unset 变量名
声明静态变量:readonly变量,不能unset

vim var.sh
A=100
echo A=$A
echo "A=$A" 一样地输出
unset A
echo A=$A 输出A=
readonly B=2
unset B 会报错...

规则:
变量名不能数字开头,等号两边不能有空格,变量名习惯大写
A=date反引号,运行date命令,将结果返回变量A

设置环境变量
export 变量名=变量值 (将shell变量输出为环境变量)
source 配置文件 (让修改后的配置信息立即生效)
echo $变量名 (查询环境变量的值)

位置参数变量
./myshell.sh 200 400 要获取200和400

!/bin/bash

echo "0=$0 1=$1 2=$2"
echo "所有的参数=$*"
echo "所有的参数=$@"
echo "参数个数=$#"

运算符

!/bin/bash

RES1=$[(2+3)*4]
echo "res1=$RES1"
RES2=$[$1+$2]
echo "res2=$RES2"

判断语句

!/bin/bash

if [ -f /home/ldt/myshell/add.sh ]
then
echo "yes"
elif
echo "no"
fi

case语句

!/bin/bash

case $1 in
"1")
echo "asdf"
;;
"2")
echo "fdsa"
;;
*)
echo "?"
;;
esac

for
$*会把输入的参数当作一个整体
$@会将参数分开

!/bin/bash

for i in "$*"
do
echo "num is $i"
done
echo "------------------"
for j in "$@"
do
echo "num is $j"
done

!/bin/bash

SUM=0
for(( i=$1; i<=$2; i++))
do
SUM=$[$SUM+$i]
done
echo "总和SUM=$SUM"

read读取控制台输入
read(选项)(参数)
选项:-p:指定读取时的提示符;-t:指定读取值时等待的秒
read -p "输入NUM1=" NUM1
echo "NUM1=$NUM1"

read -t 10 -p "输入NUM2=" NUM2
echo "NUM2=$NUM2"

系统函数
basename /home/aaa/test.txt
text.txt
dirname /home/aaa/test.txt
/home/aaa

自定义函数
[ function ] funname[()]
{
Action;
[return int;]
}

计算输入连个数的和

!/bin/bash

function getSum(){
SUM=$[$n1+$n2]
echo "和是$SUM"
}
read -p "请输入n1和n2" n1 n2
getSum $n1 $n2

标签:bin,变量,SUM,echo,命令,sh,Linux,bash
来源: https://www.cnblogs.com/li-zi-feng/p/14776299.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有