Shell基础及变量(一)

i茅台APP加密参数逆向分析:MT-Device-ID与mt-v生成算法 在移动应用安全领域,参数加密是防止API滥用的重要手段。通过对通信协议的逆向分析,可以揭示加密参数的生成原理,这对理解移动应用安全机制具有重要意义。以i茅台APP为例,其关键接口使用了MT-Device-ID和mt-v两个加密参数,前者基于设备硬件信息生成,后者则通过动态签名机制确保请求时效性。这类技术广泛应用于电商、金融等需要高安全性的场景。通过抓包工具和逆向工程手段,可以还原出从设备指纹生成到动态签名的完整技术链条,其中涉及MD5、SHA256等常见哈希算法的应用。掌握这些加密参数的生成逻辑,不仅有助于 阅读详情

Shell概述
Shell的作用——命令解释器,“翻译官”•shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上。
Shell在Linux系统中的位置用户请求shellLinux内核硬件。
Shell在Linux系统中的位置:用户请求→shell→Linux内核→硬件
命令与文件补全:在Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按“Tab”键就会自动进行补全。
命令别名:[root@localhost ~]# alias别名=‘原命令’#设定命令别名
[root@localhost ~]# alias grep=‘grep–color=auto’(注意等号两边不能有空格)
alias的作用仅在该次登入的操作,即输入一次alias后,这个修改只在当前的Shell生效。如果重新开启一个Shell,或者重新登录,则这些alias将无法使用。好在linux中提供alias永久化的方法:<1>.若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc<2>.若要让每一位用户都生效别名,则把别名加在/etc/bashrc最后面,然后# source /etc/bashrc
删除别名:[root@localhost ~]# unalias别名
管道符命令格式:[root@localhost ~]# 命令1 | 命令2 #命令1的正确输出作为命令2的操作对象。
tee:[root@www~]# tee [-a] file选项与参数:-a :以累加(append) 的方式,将数据加入file 当中![root@www~]# last | tee last.list| cut -d " " -f1# 这个范例可以让我们将last 的输出存一份到last.list文件中;[root@www~]# ls -l /home | tee ~/homefile| more# 这个范例则是将ls 的数据存一份到/homefile,同时屏幕也有输出信息![root@www]# ls -l / | tee -a ~/homefile| more# 要注意!tee 后接的文件会被覆盖,若加上-a 这个选项则能将信息累加。
echo输出命令:[root@localhost ~]# echo [选项] [输出内容]选项:-e :支持反斜线控制的字符转换\a 发出警告声;\b 删除前一个字符;\c 最后不加上换行符号;\f 换行但光标仍旧停留在原来的位置;\n 换行且光标移至行首;\r 光标移至行首,但不换行;\t 插入tab;\v 与\f相同;\插入\字符;\nnn插入nnn(八进制)所代表的ASCII字符;
$echo -e "a\bdddd"Dddd
$echo -e “a\adddd” //输出同时会发出报警声音adddd
$echo -e “a\ndddd” //自动换行adddd
为什么要使用Shell脚本:使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象。缺点是:它们的效率通常不如编译型语言。不过权衡之下,通常使用脚本编程还是值得的:花一个小时写成的简单脚本,同样的功能用C或C++来编写实现,可能需要两天,而且一般来说,脚本执行的速度已经够快了,快到足以让人忽略它性能上的问题。
Shell脚本的基本元素:(1)#!/bin/bash 必须的,指出shell的类型(2)# 注释(3)变量(4)控制
常见运行Shell脚本方法方法1:# sh./datewho.sh
方法2:# chmod+x datewho.sh
# ./datewho.sh

【Unity】【2D】用连续图片生成动画Animation的简明步骤 本文介绍了Unity中使用2D连续图片制作2D动画Animation的简明步骤。 阅读详情

相关推荐

【Creo】关于Creo一换网络就报错许可证丢失问题解决方案

依照我的个人理解,Creo只要一更换网络,则其许可证里面的网卡参数和现在的网络就对不上了,所以就会出现报错,并且有可能是报错代码(-9),提示许可证激活有问题。

weixin_52002180的博客 6038

Shell语言-28-tee管道

tee程序将cat程序的输出显示在屏幕上,并且在hello.txt文件中保留了副本,需要注意的是,如果tee命令中指定的文件已经存在,那么它将会被覆盖,使用 -a选项在文件末尾追加内容(而不是覆盖)在Shell中,管道将一个程序的标准输出作为另外一个程序的标准输入,就像用一根管子将一个程序的输入连接到另外一个程序的输入一样;管道的符号是|,下面的程序将man的标准输出作为less的标准输入,以实现翻页的功能。tee程序的输出和它的输入一样,但是会将输入内容额外的保存到文件中;

Alan0517 900

UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount()【已解决】

UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount()【已解决】

围炉夜敲的博客 1万+

Linux tee命令教程:如何使用tee命令进行输入输出重定向(附案例详解和注意事项)

tee命令在Linux中用于从标准输入读取数据,并将其写入到标准输出和一个或多个文件中。tee命令通常与其他命令一起通过管道使用。

u012964600的博客 1万+

c#上位机最强教程之环境安装

本文介绍了.NET 6开发环境的安装配置指南。主要内容包括:1)安装.NET 6 SDK和Runtime的方法及验证步骤;2)Visual Studio 2022的安装流程;3)创建第一个.NET 6控制台项目;4)项目结构解析和配置文件说明。文章还提供了实践练习和常见问题解答,帮助初学者快速搭建开发环境并运行简单程序。适用于零基础开发者,学习时间约10分钟。

飞上云层 316

01 Python学习总结:Python简介及入门

Python 是一门高级编程语言,以其简洁、易读和强大的功能而广受欢迎。它适用于多种应用场景,包括 Web 开发、数据分析、人工智能、自动化脚本等。以下是 Python 的简介及入门知识总结,帮助你快速了解并开始学习 Python。

数据知道的博客 1万+

Linux Shell(一)——Shell变量

1 变量的分类在Linux中,变量分为环境变量 和 局部变量。 环境变量能被子进程继承,而局部变量只能在当前进程中使用。 并且,不论是环境变量还是局部变量,他们又都可以分为系统变量 和 自定义变量。系统变量是系统启动时自动创建的变量,往往为系统运行提供支持;而自定义变量是用户自己定义的。一般而言,系统变量全为大写,自定义变量全为小写。1.1 常见的环境变量系统提供了一些默认的环境变量,如下: H

大闲人柴毛毛 1529

使用MATLAB结合EasySpin进行ESR模拟的详细步骤及示例代码

安装EasySpin:确保你已经安装了EasySpin工具箱,它可以帮助你进行ESR模拟。你可以从EasySpin的官方网站(https://easyspin.org/)下载并安装。准备实验数据:将实验得到的EPR数据整理成合适的格式,一般包含磁场(Magnetic Field)和信号强度(Intensity)两列。进行模拟:使用EasySpin的函数对单线态氧自由基和超氧自由基进行模拟。调整参数:通过调整模拟参数,使模拟得到的峰型和峰位置与实验数据尽可能匹配。导出数据。

AI的内部世界的博客 2005

一、shell变量

shell变量 一、 变量定义 变量名通常由大小写字母、数字和下划线(_)组成,但不能以数字开头 通过等号(=)为变量分配值,等号两边不能有空格 变量存储的数据类型是整数值和字符串值 在对变量赋于字符串值时,建议使用引号将其包裹。如果字符串中存在空格,请一定要使用单引号或双引号将整个内容包裹。注意:单引号里的内容原封不动的输出,双引号里有变量的调用则会调用变量 [xf@xuexi ~]$ Va...

杰子的世界 241

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的体育赛事目标检测系统(Python+PySide6界面+训练代码)

本文详细介绍了一个基于YOLOv5/v6/v7/v8的体育赛事目标检测系统的设计与实现。系统采用先进的深度学习算法,结合PySide6图形界面,实现了对体育赛事中运动员、球类、裁判等多种目标的实时检测与跟踪。本文将全面阐述系统的架构设计、算法原理、训练流程、界面实现以及实际应用效果,并提供完整的代码实现。

YOLO 509

RuntimeError: The current installed version of g++ (4.8.5) is less than the mininum version CUDA解决方案

本文主要介绍了RuntimeError: The current installed version of g++ (4.8.5) is less than the mininum version CUDA解决方案,希望能对学习python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

Shell练习 一:变量基础

1  历史命令的使用: 1).列出所有的历史记录 2).只列出最近10条记录 3).使用命令记录号码执行命令,执行历史清单中的第10条命令 4).执行最近一次以cd开头的命令 5).逐屏列出所有的历史记录 6).立即清空history当前所有历史命令的记录。 7)配合grep命令使用,如果想查看最近的命令中包含cd的命令

Rookie_hh的博客 774

贝叶斯网络在R语言中的应用

本文将介绍如何在R语言中使用贝叶斯网络进行建模和推断,并提供相应的源代码示例。以上就是在R语言中使用贝叶斯网络进行建模和推断的基本步骤。通过构建贝叶斯网络模型并使用相应的函数,我们可以对变量之间的依赖关系进行建模、推断和预测。在建立了贝叶斯网络模型后,我们可以使用数据集来估计变量之间的条件概率。接下来,我们可以使用数据集来构建贝叶斯网络模型。除了进行推断,我们还可以使用贝叶斯网络模型进行预测。一旦我们获得了贝叶斯网络模型和条件概率表,我们就可以使用该模型进行推断。首先,我们需要安装并加载相关的R包。

CodeMaven的博客 1277

一、Shell编程_2Shell变量

系统变量($HOME\$PATH、$USER、$PWD、$SHELL、$(date +%Y_%m_%d_%H%M%S)) & 自定义变量(变量名大写=变量值) & 设置环境变量(export、source) & 位置参数变量($n、$*、$@、$#参数个数) & 预定义变量($$当前进程号PID、$!后台运行的最后一个进程的进程号PID、$?最后一次执行的命令的返回状态)...

Karen博客 634

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

shell变量名后跟着 t_一、Shell之变量的基础知识

一、什么是变量1、什么是变量变量就是用一个固定的字符串(字符、字符+数字的组合等)替代更多、更复杂的内容,该内容可能还包含变量、路径、字符串等其它内容。变量是暂时存储数据的地方及数据标记,所存储的数据是存放在内容空间中,通过正确地调用内存看空间中变量的名字九可以取出与变量相对应的数据。注意变量的数据是存放在内容中,所以重启计算机,一般普通变量会丢失。简单变量案例[root@node1 ~]# na...

weixin_39915367的博客 529

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

shell 脚本中的变量一

目录变量的定义变量存在的意义shell脚本中变量的定义方法变量的转义变量的声明变量的数组Linux中命令的别名设定脚本练习 变量的定义 变量就是内存一片区域的地址 变量存在的意义 命令无法操作一直变化的目标,用一串固定的字符来表示不固定的目标可以解决此问题。 shell脚本中变量的定义方法 1.环境级别 export a=1 在环境关闭后变量失效,无法保存。 实验步骤: (1)编辑test.sh文...

L*YUE的博客 1019

[Linux] Shell (一):认识shell和shell变量

什么是shell? Shell,直译过来就是贝壳的意思。对于用户和系统内核来说,Shell就好比中间的一层“壳”,用户不能直接操作内核来作业,但可以通过可接收命令的程序执行命令来操作内核。这个接收并执行命令的程序就可以叫做shell了。 在维基百科中是这样解释的:一种壳层与命令行界面,是UNIX操作系统下传统的用户和计算机的交互界面。 普通意义上的shell就是可以接受用户输入命令的程序。它...

FightFightFight的博客 765

shell脚本详解(一)——Shell编程规范与变量

详解Shell编程规范与变量一、Shell脚本概述1、shell脚本的概念2、shell脚本应用场景3、shell的作用——命令翻译器,“翻译官”二、用户的登录shell三、shell脚本的构成四、shell脚本的执行方法一:指定路径的命令,要求文件必须有执行(x)权限方法二:指定shell来解释脚本,不要求文件必须有写(x)的权限①、sh脚本路径②、source脚本路径五、重定向1、重定向——交互式硬件设备2、重定向——重定向操作六、Shell脚本变量1、变量的作用2、变量的分类七、自定义变量1、定义新变

想成功,靠自己 3161

shell 怎么让变量自加一

1.古典方法 length=`expr length + 1` 2. bash only $((length++))

沉淀 1752

Shell脚本学习(一):Shell入门与Shell变量

对于入门,我们需要知道几个概念:1、Shell是什么2、Shell脚本是什么3、为什么要学习Shell脚本,即Shell脚本程序的作用4、Linux系统默认的Shell解析器先来看一个问题:Linux系统是如何操作计算机硬件的?如CPU、内存、磁盘和显示器等?答案:是通过使用Linux的内核来进行计算机硬件的操作的。那么要如何才能使用Linux的内核呢?当然就是通过编写Shell命令来调用Linux内核去执行对计算机硬件操作的啦。

qq_53324833的博客 1132

shell总结(一)--Shell全局变量、环境变量和局部变量

来自:http://c.biancheng.net/view/773.html Shell 变量的作用域(Scope),就是 Shell 变量的有效范围(可以使用的范围)。 在不同的作用域中,同名的变量不会相互干涉,就好像 A 班有个叫小明的同学,B 班也有个叫小明的同学,虽然他们都叫小明(对应于变量名),但是由于所在的班级(对应于作用域)不同,所以不会造成混乱。但是如果同一个班级中有两个叫小明...

秋天的猿 2万+

shell学习<一> 变量

学习shell的一些记录

hanchengmei的博客 137

Shell编程一 Shell变量

Shell 变量 一、定义变量 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: output="shell variable" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: 1.命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。 2.中间不能有空格,可以使用下划线(_)。 3.不能使用标点符号。 4.不...

weidonghua2的博客 227

一、shell的编程规范与变量

文章目录一——shell的编程规范与变量前言:一、shell脚本基础1.Shell脚本的概述2.Shell脚本应用场景3.shell脚本的作用(3.1)shell脚本的作用:命令解释器,翻译官4.Linux中常见的shell5.什么是shell脚本?6.脚本的执行逻辑7.脚本的错误8.操作二、重定向与管道操作2.什么是重定向?2.3管道符 |三、变量3.1常见shell变量的类型3.2命令要求3.3read -p3.4变量作用范围3.5整数变量的运算3.6环境变量总结 一——shell的编程规范与变量 前言

优快云_Rui_的博客 318

shell编程(一)变量

shell编程(一)变量详解

qq_42551099的博客 389

shell编程(一)变量

shell编程 一、简单入门 1、编写一个echo.sh #!/bin/sh cd /tmp echo 'hello word!!' 2、执行 #1 sh执行 sh echo.sh #2 赋权限直接执行 chmod +x echo.sh ./echo.sh # source 执行 source echo.sh 小总结:linux程序的3种执行方式 1)使文件具有执行权限,直接执行 2)直接调...

Bobdragery的博客 349

一、shell脚本:shell基础 语法 变量 约束条件

1、不要使用系统的命令作为变量名称2、不要使用中文3、变量名不能使用特殊符号来开头 可以使用下划线开头_4、定义变量时,一定要是字母开头,不能以数字开头5、变量名最好是对应的名称的英文全称或者简写1、全局变量(主要是系统定义,不能改的)在全局配置文件当中修改,export 变量名=值所有的用户都可以使用如果有需要一直不变的参数可以供所有人使用,就可以配置全局变量副作用:一旦有改动,增加了复杂性2、环境变量(也是全局变量的一种),系统创建的,设置用户的工作环境。

2401_87896172的博客 737
上一篇: Linux学习日记(三)RPM软件包管理、YUM仓库配置和源码包的安装
gwj_666
博客等级 码龄10年 2粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值