首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

bash 的变量和参数

我的 bash 生涯第一坑。bash 中,赋值 = 两边不能有空格。 有空格又会怎样?...转义,变量不会被替换 变量类型 这里当然不是说字符串、整形什么的,其实 bash 中的变量都可以理解为字符串。 bash 中有四种类型的变量,它们是环境变量、本地变量、位置变量和特殊变量。...echo "${10}" 特殊变量 变量 含义 $$ 表示当前 Shell 进程的 ID ,即 pid $n 上述位置变量 $# 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@ 传递给脚本或函数的所有参数...; # 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数 echo "$@"; # 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数 退出与退出状态 请查看退出与退出状态...参考文章 bash shell学习之变量 Shell变量 How to tell if a string is not defined in a bash shell script?

1.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

(23)Bash位置参数变量

位置参数变量 位置参数变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的。...位置参数变量 作用 $n n为数字,$0代表命令本身,$1-9代表第一到第九个参数,十以上的参数需要用大括号包含,如9代表第一到第九个参数,十以上的参数需要用大括号包含,如9代表第一到第九个参数,十以上的参数需要用大括号包含...,如{10}. $* 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体 $@ 这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待 $# 这个变量代表命令行中所有参数的个数 例1...②通过$n实现一个简单的加法计算器 $n就是用来把你的命令和命令后面跟的参数传递给脚本中的$n(n=1,2,3,4…)代表的位置参数变量 ? 例2.$#、$*、$@ ①简单演示 ?...②$*和$@的区别(了解) $*会把所有参数当成一个整体,只执行一次循环。$@会把不同的参数当作独立的,有几个参数执行几个循环。 ? END

86120

bash 的变量和参数

我的 bash 生涯第一坑。bash 中,赋值 = 两边不能有空格。 有空格又会怎样?...转义,变量不会被替换 变量类型 这里当然不是说字符串、整形什么的,其实 bash 中的变量都可以理解为字符串。 bash 中有四种类型的变量,它们是环境变量、本地变量、位置变量和特殊变量。...echo "${10}" 特殊变量 变量 含义 $$ 表示当前 Shell 进程的 ID ,即 pid $n 上述位置变量 $# 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@ 传递给脚本或函数的所有参数...; # 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数 echo "$@"; # 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数 退出与退出状态 请查看退出与退出状态...参考文章 bash shell学习之变量 Shell变量 How to tell if a string is not defined in a bash shell script?

1.4K00

升级linux bash

bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu) Copyright (C) 2009 Free Software Foundation,...There is NO WARRANTY, to the extent permitted by law. 3)Linux Bash严重漏洞修复紧急通知(2014年9月25日更新) 日前Linux官方内置...Bash中新发现一个非常严重安全漏洞,黑客可以利用该Bash漏洞完全控制目标系统并发起攻击,为了避免您Linux服务器受影响,建议您尽快完成漏洞修补,修复方法如下: 漏洞检测方法 可以使用如下命令来检查系统存在此漏洞...: env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 如果在一个含有版本号小于bash 4.3的linux或者unix系统上执行以上命令...5)漏洞存在条件 任何已知程序,只要满足以下两个条件就可以被用来通过bash漏洞导致任意命令执行: 1、程序在某一时刻使用bash作为脚本解释器处理环境变量赋值; 2、环境变量赋值字符串的提交取决于用户输入

5.5K90

LinuxBash支持各种指令选项的原理:命令行参数

前言 大家好吖,欢迎来到 YY 滴Linux系列 ,热烈欢迎!...本章主要内容面向接触过Linux的老铁 主要内容含: 一.认识main函数参数【int argc & char *argv[ ]】 main 中存在两个参数 分别是一个整型,与一个指针数组 二.回顾...Bash支持各种指令选项 如下所示,我们输入指令时,往往可以通过空格,加入各种选项 ls -la ....(正文)Bash支持各种指令选项的原理(含推导过程) 我们用自动化构建工具makefile对myproc进行编写 int main(int argc, char* argv[]) { int i =.../myproc -a -b --help --version 我们发现输出结果是 我们据此可以得出原理 Shell/Os自动把Bash行中一个大的字符串以空格作为分割符,被分成5个子串

7610

Linux Bash基础(一)

(ksh) zsh 各个shell的功能都差不太多,在某些语法的下达下面有些区别,Linux预设就是bash。...简单点说,直接把shell和bash先理解为一个东西好了,就是Linux中的那个终端窗口(Terminal),也就是那个小黑框,下面的例子都是在Linux的终端窗口中运行的。...## 脚本参数 bash脚本在运行时,也可以携带参数,在脚本中通过变量的形式接收,如test_arg.sh内容如下: #!.../bin/bash echo $0 echo $1 echo $2 其中0是命令的第一部分,1才是第一个参数,如运行: ./test_arg.sh hello world ..../bin/bash 值得注意的是: sh一般设成bash的软链 在一般的linux系统当中(如redhat),使用sh调用执行脚本相当于打开了bash的POSIX标准模 也就是说 /bin/sh 相当于

10.1K20

Linux Bash基础(二)

主要内容: 逻辑判断:test关键字 选择结构:if-else, case 循环结构:while-do, for 逻辑判断 bash不仅可以进行数值运算,通过test关键字还可以进行逻辑判断。...参数 含义 助记 -gt 大于 greater than -lt 小于 less than -eq 等于 equal -ne 不等于 not equal -ge 大于等于 greater equal -...参数 含义 = 相等 != 不相等 > 字典顺序大于 < 字典顺序小于 文件的判断 例如判断文件是否存在: test -e a.out; echo $?...参数 含义 助记 -e 文件存在 exist -r 文件存在&可读 readable -w 文件存在&可写 writable -x 文件存在&可执行 executable -f 文件存在&普通文件 file.../bin/bash for var in `ls log*` do rm $var done 该脚本的功能是查找本目录中以“log”开头的文件,并将其依次删除。

2.5K20

Linux私房菜:走进bash

本文内容精简、整理、摘抄、有感于《鸟哥的Linux私房菜 - 基础篇第四版》第十章 • 认识与学习BASHBash功能 命令编辑修复能力:history。...用户bash指令使用记录文件:~/.bash_history 命令与文件补全:tab 命令别名设定:alias 工作控制、前景和背景控制 程序化脚本:shell scripts 通配符:wildcard...,执行上一个指令,相当于↑ + Enter ctrl + u 提示符命令输入下可快速删除整行 ctrl + s 暂停屏幕的输出 ctrl + q 恢复屏幕的输出 特殊符号 bash特殊符号 说明 #...expand [-t] file,将空格键转换成对等的tab键,-t参数可以指定一个tab键代表多少个字符 分区命令 split -[bl] file [PREFIX],-b参数后接分区文件大小,可指定...b,k,m,g等;-l参数为以行数进行分区;PREFIX指定分区文件名前缀 参数替换 xargs -[0epn] command,产生某个指令的参数 减号用途 减号-可用于连接一些特殊的stdin和stdout

2.5K20
领券