网站建设属于办公费吗/百度搜索引擎入口登录

网站建设属于办公费吗,百度搜索引擎入口登录,怎么帮公司做网站建设,dokuwiki wordpress 整合一、vim 1、了解 Vim (Vi IMproved) 是一款功能强大的文本编辑器。 正常模式:vim 文件,刚打开的样子vim模式:输入文本的地方命令模式:输入 :wq等等的位置,可以对文本进行一些操作,比如:保存文…

一、vim

1、了解

Vim (Vi IMproved) 是一款功能强大的文本编辑器

  • 正常模式:vim 文件,刚打开的样子
  • vim模式:输入文本的地方
  • 命令模式:输入 :wq等等的位置,可以对文本进行一些操作,比如:保存文本
    在这里插入图片描述

2、使用方法

  • 创建
vim 文件名 //如果没有这个文件,它会自己在当前目录生成
  • 创建好后,它会自己进入编辑里面
    • 你会看到这样的界面
      在这里插入图片描述
  • 进行编辑
先按一下 i 或 a
然后输入文字
输入完后,就按 ESC键 。

在这里插入图片描述
在这里插入图片描述

  • 保存或退出文件
:wq  保存并退出
:q!  强制退出
:q   不保存退出
注意:一定是在英语编辑模式下输入 : 符号

在这里插入图片描述

3、特殊操作

1. 拷贝当前行 (yy ),并粘贴(p)
2. 拷贝当前向下的2行(2yy ) 并粘贴(p)
3. 删除当前行(dd)或 删除当前向下的2行 (2dd)
4. 撤销上一操作 u
5. ctrl+r:反撤销
注意 :是在**正常模式下进行**

在这里插入图片描述

  • yyp
    在这里插入图片描述
  • dd
    在这里插入图片描述
设置行号 :set nu
取消行号 set nonu注意:在命令模式下

在这里插入图片描述
在这里插入图片描述

定位和修改操作切换到正常模式
nG 表示跳到第n行
gg 将光标直接跳到首行位置
0 表示光标移动到 当前行的 行首位置
$ 表示光标移动到 当前行的 行尾位置修改在命令模式下进行:s/string1/string2/g 表示将 当前行 所有的string1更换成string2:%s/string1/string2/g 表示将文本里的所有string1变string2:m,ns/string1/string2/g 表示[m,n]行闭区间内的所有string1更换成string2:/string 查找string

二、什么是shell编程?

1、了解

Shell编程是指利用Shell脚本(Shell Script)自动化执行一系列命令或任务Shell是一种命令行解释器,充当用户与操作系统内核(如Linux/Unix)之间的桥梁,而Shell脚本则是包含多个Shell命令的文本文件,可以批量运行这些命令
在这里插入图片描述


  1. 脚本文件

    • 扩展名通常为.sh(如test.sh),文件开头需指定解释器(如#!/bin/bash)。
    • 通过chmod +x 脚本名.sh赋予可执行权限后,可直接运行(./脚本名.sh)。
  2. 语法特点

    • 变量:存储数据(如name="张三",使用时加$符号,如echo $name)。
    • 条件判断if-elsecase语句(例如判断文件是否存在)。
    • 循环forwhile循环(如遍历文件列表)。
    • 函数:封装重复代码块。
    • 参数传递:通过$1$2获取脚本参数。
  3. 示例脚本

    #!/bin/bash
    echo "你好,世界!"  # 打印文本
    today=$(date)       # 获取当前日期
    echo "今天是:$today"
    

二、shell的编写执行方式

1、第一个shell程序

  • 创建 .sh 后缀的文件 ,并且在文件里写 #!/bin/bash 。运行最好用 ./文件名.sh 【无法直接运行,添加可执行权限给用户】。
注释用
# 
这个是单行:<<!
这个是多行
!
注意:被注释的内容 不要和 注释在同一行
mkdir shellCode //创建目录shellCode
cd shellCode //切换到shellCode
vim hello.sh //编辑 hello.sh
//进入hello.sh文件里面进行编写
#!/bin/bash  //必须输入这个,才能运行
echo "hello world" //echo输出。
//然后运行文件
sh hello.sh  //第一种运行方式//第二种方式
chmod u+x //给u可执行的权限
./hello.sh

在这里插入图片描述

在这里插入图片描述

2、shell变量

Linux 中 Shell 的变量分为系统变量和用户自定义变量。**

2.1、系统变量

  • 系统变量**:$HOME、$PWD、$SHELL、$USER 等等,比如:echo $HOME 等等。我们可以使用set命令显示当前 Shell 中所有变量。
    在这里插入图片描述

2.2、用户变量

  • 用户变量

    • 我们在开发的过程中,可以自定义变量
    • 定义过程:
      • ①定义变量:变量=值【注意等号两侧无空格
      • ②撤销变量:uset 变量
      • ③声明静态变量(不能修改,类似于常量):readonly 变量 【注意该变量不能unset
  • 自定义的变量要用 echo输出时 ,要加 $ 符号

  • 如下图
    在这里插入图片描述

#!/bin/bash
A=100
echo $A 
#或echo A=$A 或echo "A=$A"
echo A=$A 
echo "A=$A"
#然后保存退出vim编辑器
#销毁变量A
unset A
echo "A=$A"
#设置静态变量
readonly B=2
#销毁静态变量
unset B
echo $B# 这时候,就会出现问题,它会提醒,静态变量是只能读不能修改的。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


  • 我们也可以把linux的命令结果赋予给变量
C=`date`
echo $C

在这里插入图片描述


  • linux命令还有一种声明的方式
D=$(date)
echo D=$D

在这里插入图片描述

2.3、设置环境变量

  • 首先要知道设置的 文件是 /etc/profile
  • 基本语法
    • export 变量名=变量值
    • 将shell变量输出为环境变量/全局变量。那样多个脚本都可以使用 .sh 文件。
      在这里插入图片描述
  • source 配置文件:让修改后的配置文件立即失效
  • echo $变量名 :查询环境变量的值

2.5、设置位置参数变量

  • 基本语法
    • $n:n 为数字,$0 代表命令本身,$1~ 9 代表第一到第九个参数,十以上的参数需要用大括号,如 9 代表第一到第九个参数,十以上的参数需要用大括号,如 9代表第一到第九个参数,十以上的参数需要用大括号,如${10}
    • $ ∗ :代表命令行中所有的参数, * :代表命令行中所有的参数, :代表命令行中所有的参数,*把所有的参数看成一个整体
    • $@:代表命令行中所有的参数,不过该命令是把每个参数区分对待
    • $#:代表命令行中所有参数的个数
#!/bin/bash
echo "p0=$0,p1=$1,p2=$2"
echo "$*"
echo "$@"
echo "$#"

在这里插入图片描述

2.6、预定义变量

  • 基本语法
    • $$:当前进程的进程号
    • $!:后台运行的最后一个进程的进程号
    • $?:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确
#!/bin/bash
echo "当前进程号=$$"
echo "最后一个进程号=$!"
echo "上一个命令的返回状态=$?"

3、shell中的运算符

  • 3种写法
1、$((表达式))
2、$[表达式]
3、$(expr m 运算符 n)
注意:expr与运算符之间要有空格。只能有2个操作数,m和n必须是数字 ,数字和运算符之间必须有空格 。

3.1、 第一种 $(())

#!/bin/bash#输出表达式 3*(4+10)
TOTAL=$((3*(4+10)))
echo $TOTAL

在这里插入图片描述

3.2、 第二种【比较老了,可能用不了】

#!/bin/bash
#输出表达式 3*(4+10)
RESULT=$[3*(4+10)]
echo $RESULT

3.3、 第三种 expr

#expr
TEMP=$(expr 10 + 10)
echo "TEMP=$TEMP"

在这里插入图片描述

注意:linux里 乘号是 \* ,在expr里要用这个

  • 传入参数
$(($n运算符$n))
#注意 $0是本身,不用这个

在这里插入图片描述
在这里插入图片描述

4、shell的条件判断

4.1、单个if

  • 基本语法
if [ condition ] 
then满足if语句执行的代码
fi 

注意:condition前后要有空格

4.2、条件判断

  • 常用判读条件

    • 字符串比较
      • 字符串相等"$ str1" = “$ str2”
      • 字符串为空-z “$str”
      • 字符串非空-n “$ str”
      • 字符串不等"$ str1" != “$ str2”
      • str1 小于 str2 (按字典序)“$ str1” < “$ str2”
      • str1 大于 str2 (按字典序)“$str1” > " $ str2"
    • 两个整数的比较
      • 小于:-lt
      • 大于:-gt
      • 小于等于:-le
      • 大于等于:-ge
      • 不等于:-nt
      • 等于:-eq
    • 按照文件权限进行判断
      • 有读的权限:-r
      • 有写的权限:-w
      • 有可执行的权限:-x
    • 按照文件的类型进行判断
      • 文件存在且是常规文件:-f
      • 文件存在:-e
      • 文件存在且是目录:-d
    • 逻辑运算符
      • AND:-a 【只有 [[ condition ]] 才能使用&&
      • OR:-o 【只有[[ condition ]]才能使用 ||
      • NOT:!
    • true和false
      • true 是对
      • false是错
  • 案例1

    • abc 和 cbd 不相等
#!/bin/bash
if [ "abc"!="cbd" ]
thenecho "两个字符串不相等"
fi
  • 案例2
    • 中国人大于18 岁是中国成年人
if [ $age -ge 18 -a "$country" = "CN" ]; thenecho "中国成年人"
fi# 使用 [[ ]] 的更清晰写法 , 这里有&&
if [[ $age -ge 18 && "$country" == "CN" ]]; thenecho "中国成年人"
fi
  • 案例3
    • 查看 a.txt 文件存在 【注意输入的是绝对路径
#!/bin/bash
if [ -f /home/a/shellCode/a.txt ]
thenecho "a.txt存在"
fi
  • 案例4
    • a.txt 的权限是 -r
#!/bin/bash
if [ -r /home/a/shellCode/a.txt ]
thenecho "a.txt的权限是write"
fi
  • 案例5
    • true的使用
#!/bin/bash
if [ true ]
thenecho "true"
fi

4.3、多if-else

  • 基本语法
if [ conditon ]
then 代码1
elif [ condition ]
then代码2
elif [ conditon ]
then代码3
else 默认
fi
  • 案例
#!/bin/bash
if [ $1 -lt $3  ]
thenecho "1<3"elseecho "1>3"
fi

4.4、case语句

  • 基本语法
case $变量名 in"值1")如果变量名的值等于 值1,就执行代码1;;"值2")代码2;;*)如果以上都不满足就执行这个代码;;
esac
  • 案例
#!/bin/bash
# 传参数
case $1 in"1")echo "一";;"2")echo "二";;*)echo "三";;
esac

在这里插入图片描述
在这里插入图片描述

5、循环语句

5.1、for循环[2种方法][无$变量]

  • 基础语法1
for 变量 in "值1" "值2" "值3"....
do代码
done
  • 案例
#!/bin/bash
for i in "$@"
doecho "数字是:$i"
done

在这里插入图片描述

  • 基础语法2
for(( 初始值;循环控制条件;变量变化 ))
do代码
done
  • 案例
#!/bin/bash
for(( i=0;i<10;i++ ))
doecho "数字是:$i"
done

在这里插入图片描述

5.2、while循环

  • 基础语法
while [ condition ]
do代码
done
  • 案例

#!/bin/bash
SUM=0
i=0
while [ $i -le $1 ]
doSUM=$(($SUM+$i));i=$(($i+1));
done
echo "数字之和是:$SUM"

在这里插入图片描述

6、read获取输入

  • 基础语法
read 选项 参数
-p  指定读取值时的提示符
-t   指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了(放弃输入)
  • 案例1:使用-p
#!/bin/bash
read -p "请输入一个数字:" NUM1
echo "用户输入的值是$NUM1"
  • 案例2:使用-t
#!/bin/bash
read -t 10 -p "请输入一个数字:" NUM1
echo "用户输入的值是$NUM1"
# 10秒内不输入 ,它就自己跳到下一个函数了                      

7、函数

7.1、系统函数[遇到这种就网上查,这里只举2个例子]

  • 基础语法
basename  文件的完整路径    作用:获取文件名
dirname   文件的完整路径     作用:获取完整路径最前面部分
  • 案例1:使用basename
a@zyt-virtual-machine:~/shellCode$ pwd
/home/a/shellCode
a@zyt-virtual-machine:~/shellCode$ basename /home/a/shellCode/hello.sh
hello.sh

在这里插入图片描述

  • 案例2:使用dirname
a@zyt-virtual-machine:~/shellCode$ dirname /home/a/shellCode
/home/a

在这里插入图片描述

7.2、自定义函数

  • 基础语法
function function_name {# 函数体commands
}
function_name [$参数1...$参数2] 调用这个函数
  • 案例:函数参数传递
greet() {echo "Hello, $1!"
}greet "Alice"  # 输出: Hello, Alice!
greet "Bob"    # 输出: Hello, Bob!
  • 案例:返回值处理
    • 返回状态码(0-255):
is_even() {if (( $1 % 2 == 0 )); thenreturn 0  # 成功/真elsereturn 1  # 失败/假fi
}is_even 4
echo $?  # 输出返回状态码
  • 案例:返回数据(通过echo)
add() {local sum=$(( $1 + $2 ))echo $sum
}result=$(add 3 5)  # 捕获输出
echo "3 + 5 = $result"
  • 案例:局部变量(推荐)
myfunc() {local var="局部变量"echo "函数内: $var"
}myfunc
echo "函数外: $var"  # 输出为空
  • 案例:全局变量
global_var=""modify_global() {global_var="修改后的值"
}modify_global
echo $global_var  # 输出: 修改后的值
  • 案例:2数之和
#!/bin/bash
function getSum(){SUM=$(($n1+$n2))echo "两个数字之和是:$SUM"
}
read -p "请输入2个数字" n1 n2
getSum $n1 $n2

在这里插入图片描述

  • 案例:函数引用
say_hello() { echo "Hello!"; }
say_goodbye() { echo "Goodbye!"; }# 通过变量选择函数
action="say_hello"
$action  # 输出: Hello!action="say_goodbye"
$action  # 输出: Goodbye!
  • 案例:递归函数
factorial() {local n=$1if (( n <= 1 )); thenecho 1elseecho $(( n * $(factorial $((n-1))) ))fi
}factorial 5  # 输出: 120

8、数组

8.1、 初始化

# 方式1:空格分隔
colors=("red" "green" "blue")
arr=("$@")
# 方式2:逐个元素赋值
fruits[0]="apple"
fruits[1]="banana"
fruits[2]="orange"

8.2、访问单个和全部

  • 单个
echo ${colors[0]}    # 输出第一个元素(索引从0开始)
echo ${colors[-1]}   # 输出最后一个元素
  • 全部
echo ${colors[@]}    # 展开为独立单词(推荐)
echo ${colors[*]}    # 所有元素作为单个单词(可能有问题)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Robust Synthetic-to-Real Transfer for Stereo Matching》

论文地址&#xff1a;https://arxiv.org/pdf/2403.07705 源码地址&#xff1a;https://github.com/jiaw-z/DKT-Stereo 概述 通过在合成数据上预训练的模型在未见领域上表现出强大的鲁棒性。然而&#xff0c;在现实世界场景中对这些模型进行微调时&#xff0c;其领域泛化能力可…

蓝桥杯第10届 后缀表达式

题目描述 给定 N 个加号、M 个减号以及 NM1 个整数 A1,A2,⋅⋅⋅,ANM1​&#xff0c;小明想知道在所有由这N 个加号、M 个减号以及 NM1 个整数凑出的合法的 后缀表达式中&#xff0c;结果最大的是哪一个&#xff1f; 请你输出这个最大的结果。 例如使用 1 2 3 -&#xff0c…

C++前缀和

个人主页&#xff1a;[PingdiGuo_guo] 收录专栏&#xff1a;[C干货专栏] 大家好&#xff0c;今天我们来了解一下C的一个重要概念&#xff1a;前缀和 目录 1.什么是前缀和 2.前缀和的用法 1.前缀和的定义 2.预处理前缀和数组 3.查询区间和 4.数组中某个区间的和是否为特定…

uni app跨端开发遇到的问题

技术栈 uni app&#xff0c;vue3&#xff0c;uview puls&#xff0c;map… nvue 因为项目中有地图&#xff0c;要使用到map标签&#xff0c;所以考虑用原生nvue开发&#xff0c;它是有痛点的&#xff0c;首先浏览器不支持&#xff0c;我是要开发ios和Android&#xff0c;所以…

element-ui messageBox 组件源码分享

messageBox 弹框组件源码分享&#xff0c;主要从以下两个方面&#xff1a; 1、messageBox 组件页面结构。 2、messageBox 组件属性。 一、组件页面结构。 二、组件属性。 2.1 title 标题&#xff0c;类型为 string&#xff0c;无默认值。 2.2 message 消息正文内容&#xf…

支付页面安全与E-Skimming防护----浅谈PCI DSS v4.0.1要求6.4.3与11.6.1的实施

关键词&#xff1a;支付页面安全、E-Skimming、PCI DSS v4.0.1、第三方脚本、风险管理、持卡人数据、数据安全、第三方服务提供商、TPSP、内容安全、网页监控、恶意脚本攻击 本文为atsec和作者技术共享类文章&#xff0c;旨在共同探讨信息安全的相关话题。转载请注明&#xff…

【gradio】从零搭建知识库问答系统-Gradio+Ollama+Qwen2.5实现全流程

从零搭建大模型问答系统-GradioOllamaQwen2.5实现全流程&#xff08;一&#xff09; 前言一、界面设计&#xff08;计划&#xff09;二、模块设计1.登录模块2.注册模块3. 主界面模块4. 历史记录模块 三、相应的接口&#xff08;前后端交互&#xff09;四、实现前端界面的设计co…

案例分享|树莓派媒体播放器,重构商场广告的“黄金三秒”

研究显示&#xff0c;与传统户外广告相比&#xff0c;数字户外广告在消费者心中的记忆率提高了17%&#xff0c;而动态户外广告更是能提升16%的销售业绩&#xff0c;整体广告效率提升了17%。这一显著优势&#xff0c;使得越来越多资源和技术流入数字广告行业。 户外裸眼3D广告 无…

23种设计模式-装饰器(Decorator)设计模式

装饰器设计模式 &#x1f6a9;什么是装饰器设计模式&#xff1f;&#x1f6a9;装饰器设计模式的特点&#x1f6a9;装饰器设计模式的结构&#x1f6a9;装饰器设计模式的优缺点&#x1f6a9;装饰器设计模式的Java实现&#x1f6a9;代码总结&#x1f6a9;总结 &#x1f6a9;什么是…

ubuntu22.04安装搜狗输入法保姆教程~

一、添加中文语言支持 1.首先打开设置,找到Language and Region 2.点击Manage Installed Languages 3.点击 Install/Remove Languages... 4.选中Chinese (simplified),点击Apply

强化学习和智能决策:Q-Learning和Deep Q-Learning算法

强化学习(Reinforcement Learning, RL)是机器学习的一个重要分支,它通过智能体(Agent)与环境交互来学习最优决策策略,旨在最大化智能体的长期累积奖励。Q-Learning和Deep Q-Learning是强化学习中的两种关键算法,它们在智能决策领域发挥着重要作用。 一、强化学习基础 …

ubuntu22.04 安装Jitsi meet 开源会议系统,代替腾讯会议

0.安装 官方安装教程Self-Hosting Guide - Debian/Ubuntu server | Jitsi Meet 一定要用域名访问&#xff0c; 一定要用域名访问&#xff0c; 一定要用域名访问&#xff0c; 一定要用域名访问&#xff0c; 域名一定要有ssl证书&#xff0c;域名一定要有ssl证书&#xff0c;域名…

专家管理系统(源码+文档+讲解+演示)

引言 在知识经济时代&#xff0c;专家管理系统成为了企业优化知识资源、提升决策效率的重要工具。本文将介绍一款创新的专家管理系统&#xff0c;该系统通过智能化工具&#xff0c;助力企业实现专家资源的高效管理和利用。 平台概述 专家管理系统采用前后端分离的架构设计&a…

关于cmd中出现无法识别某某指令的问题

今天来解决以下这个比较常见的问题&#xff0c;安装各种软件都可能会发生&#xff0c;一般是安装时没勾选注册环境变量&#xff0c;导致cmd无法识别该指令。例如mysql&#xff0c;git等&#xff0c;一般初学者可能不太清楚。 解决这类问题最主要的是了解环境变量的概念&#x…

【C++初阶】---类和对象(上)

1.类的定义 1.1类的定义格式 • class为定义类的关键字&#xff0c;Data为类的名字&#xff0c;{}中为类的主体&#xff0c;注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员&#xff1a;类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或者成员函数。 •…

Rust安装并配置配置vscode编译器

一. 下载rustup-init.exe rust下载网址&#xff1a;Getting started - Rust Programming Language 根据系统&#xff0c;选择适合的exe文件 我选择的的是右边64bit的 打开下载的文件 输入1&#xff0c;回车 二. Visual C 安装 自动下载安装vs 等待安装完毕 三. Rust 安装…

ECharts各类炫酷图表/3D柱形图

一、前言 最近鸡米花实现了各类的炫酷的图表&#xff0c;有3D柱形图、双边柱形图以及异形柱形图&#xff0c;好了&#xff0c;直接上图&#xff1a; 二、效果图 一个个来吧&#xff0c;下面就是代码啦&#xff0c;注意&#xff0c;一下图表展示的宽高均为800px*300px 三、异形横…

HCIP——园区网、VLAN

园区网 园区网搭建核心思路&#xff1a;冗余&#xff08;备份&#xff09;--- 保证其健壮性 1、设备冗余 2、线路冗余 3、网关冗余 4、ups&#xff08;不间断电源&#xff09;冗余—— 能不断电&#xff08;物理层&#xff09; 三层交换机和路由器的选择&#xff1a; 三层交换…

虚拟机(二):Android 篇

虚拟机&#xff08;一&#xff09;&#xff1a;Java 篇 虚拟机&#xff08;二&#xff09;&#xff1a;Android 篇 Dalvik和JVM区别 Dalvik 基于寄存器&#xff0c;而 JVM 基于栈。 基于栈的架构具有更好的可移植性&#xff0c;因为其实现不依赖于物理寄存器基于栈的架构通常指…

Vue Kubernetes项目 局部布局 下拉菜单

下拉菜单 [el-dropdown] 下拉菜单也比较简单&#xff0c;就是类似于按钮下面来一个下拉菜单。 示例Demo如下&#xff1a; <template><el-dropdown><span class"el-dropdown-link">下拉菜单<i class"el-icon-arrow-down el-icon--right&q…