问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于shell脚本变量设定的问题

发布网友 发布时间:2022-04-25 13:17

我来回答

2个回答

热心网友 时间:2024-10-20 08:57

#!/bin/bash 
#来自DZ动力(verydz.com),代码第二行改为如下试下
 
a="+ - * /"
set -f

追问按照你说的 成功了, 请问set -f 是什么意思

追答set
功能说明:设置shell。

语 法:set [+-abCdefhHklmnpPtuvx]

补充说明:set指令能设置所使用shell的执行方式,可依照不同的需求来做设置。

参 数:
-a 标示已修改的变量,以供输出至环境变量。
-b 使被中止的后台程序立刻回报执行状态。
-C 转向所产生的文件无法覆盖已存在的文件。
-d Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。
-e 若指令传回值不等于0,则立即退出shell。
-f 取消使用通配符。
-h 自动记录函数的所在位置。
-H Shell 可利用"!"加的方式来执行history中记录的指令。
-k 指令所给的参数都会被视为此指令的环境变量。
-l 记录for循环的变量名称。
-m 使用监视模式。
-n 只读取指令,而不实际执行。
-p 启动优先顺序模式。
-P 启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。
-t 执行完随后的指令,即退出shell。
-u 当执行时使用到未定义过的变量,则显示错误信息。
-v 显示shell所读取的输入值。
-x 执行指令后,会先显示该指令及所下的参数。
+ 取消某个set曾启动的参数。

热心网友 时间:2024-10-20 08:58

我觉得呢,echo只有加-e选项了才允许后面的输出进行转义,试试下面这样呢?
echo -e 1"$i"2"$j"3"$x"4"$y"5 = $[$var]

此外,还可以试试用单引号(会屏蔽其中特殊字符的特殊含义,仅解释为字符本身,应该就不需要转义了):
a='+ - * /'追问应该和 echo转义没有关系, 这句不改只改上面 就能得到正确结果
而且echo的转义应该是转义 \n \t 这类分隔符

追答实践了一下,发现使用了变量a,传递的是 \* ;而直接传递的话,传递的是 *。区别就是这个。
而bash里$[$var]这种计算方式,跟$((var))这种计算方式类似,*是被允许的,而 \* 则会报错。

用调试方式运行脚本 sh -x script.sh 可以看到这个区别。
具体为什么,还真不好解释,取决于shell的解释方式。
通过变量a来传递的话只能在运算前手动转换一下:
[ "$i" = "\*" ] && i='*'
[ "$j" = "\*" ] && j='*'
[ "$x" = "\*" ] && x='*'
[ "$y" = "\*" ] && y='*'

--------------------------------------
set -f
Disable pathname expansion
可以避免通配符*被展开为文件路径。我的确没想到这个。
在命令行可以试试用set -f前后ls *命令的结果有何不同。

Shell中的变量和环境变量

Shell脚本中的变量是存储数据的基本载体,用于在后续命令中引用和操作。定义变量时,需在变量名前加$符号,并使用等号(=)来赋值,确保等号两边无空格。举例:变量的定义与使用 当在Shell脚本中引用变量时,通过$符号引用其值。例如,`$variable`将输出变量的值。特殊变量则用于获取脚本信息或命令行参数,...

shell如何定义变量

在Shell中,还有一些特殊的变量,如环境变量,它们对于进程和脚本间的通信至关重要。可以使用`export`命令将变量导出为环境变量,使其在子进程和脚本中可用。例如:bash export MY_ENV_VARIABLE="This is an environment variable"这样定义的变量可以在其他脚本或子进程中通过环境变量访问到。这对于配置和跨...

shell的变量类型有以下哪几种?

Shell之环境变量、局部变量环境变量又被称为全局变量,可以在创建的shell以及任意子进程shell中使用。局部变量只能在创建的shell脚本中使用。环境变量用于定义Shell的运行环境,保证Shell命令的正确执行,Shell通过环境变量来确定登录的用户名、登录目录等。比如要运行的程序是test.shtest.sh123ab上边的123ab传递...

如何在shell脚本中使用变量

1、linux shell中的变量一般定义格式为:var=value。其中var是变量名称,=是赋值,value是给变量赋的值。比如下面的变量定义。a=12; b="hello world"2、注意变量名称的第一个字符不可以是数字,但是可以是下划线。如下示例则为非法的变量名。3、要使用变量的值,在变量前面加上$符号即可。比如下面的...

shell脚本中可以设置全局变量么

如果只想看指定的变量设置,如路径PATH的设置,可以用 "echo $PATH"或 “ env | grep PATH"或” env | grep -i path"来查询。前面的适合知道全名的,后面2种适合只知道部分字段或者部分关键字母(甚至不确定字符大小写)的。-bash-3.00# echo $PATH /usr/sbin:/usr/bin:.-bash-3.00# env...

如何在shell脚本中设置环境变量

如果只想看指定的变量设置,如路径PATH的设置,可以用 "echo $PATH"或 “ env | grep PATH"或” env | grep -i path"来查询。前面的适合知道全名的,后面2种适合只知道部分字段或者部分关键字母(甚至不确定字符大小写)的。-bash-3.00# echo $PATH /usr/sbin:/usr/bin:.-bash-3.00# env...

如何通过shell脚本设置全局的环境变量

如果只想看指定的变量设置,如路径PATH的设置,可以用 "echo $PATH"或 “ env | grep PATH"或” env | grep -i path"来查询。前面的适合知道全名的,后面2种适合只知道部分字段或者部分关键字母(甚至不确定字符大小写)的。-bash-3.00# echo $PATH /usr/sbin:/usr/bin:.-bash-3.00# env...

shell脚本中可以设置全局变量么?

a的值在新建shell中被改写。你这里 ls 的结果只有一条,所以while循环只执行一次就退出了,从新建shell回到原shell,a的新值不会被带出来,还是"hehe"。用输入重定向来替换管道符就行了,例如可以这样:a="hehe"while read linedo a="wuwu" echo "$a"done <`ls -ltr`echo "$a"

shell脚本变量的定义与赋值

定义变量 Shell 支持以下三种定义变量的方式:variable=value variable='value'variable="value"variable 是变量名,value 是赋给变量的值。如果 value 不包含任何空白符(例如空格、Tab 缩进等),那么可以不使用引号;如果 value 包含了空白符,那么就必须使用引号包围起来。使用单引号和使用双引号也是有...

Linux shell变量的用法

注意索引从0或1开始,方法三需空格,方法五从1开始。使用字符串处理功能解决需求问题。完整脚本需求:变量string="Bigdata process framework is Hadoop,Hadoop is an open source project"。执行后,打印输出并提供用户功能选择。将功能模块划分为函数,实现所需功能。程序主流程设计,实现脚本功能。示例1...

shell脚本调用shell脚本 shell脚本中的变量 shell脚本内部变量的使用 shell脚本定义变量 shell脚本中的变量类型 shell脚本引用之前的变量 如何引用shell脚本中的变量 shell脚本使用变量 shell脚本输入变量
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求好看的重生文,不要重生回到以前的,女主性格不能软弱无能,不能太... 求双洁的娱乐圈小说(男女主或攻受一定要都身心干净,并且要重生的 )可 ... ...文笔一定要好 重生娱乐圈什么的都无所谓 一定要是婚后的! 浙江高考成绩理科专科排名查询怎么查啊,最好给网站谢谢 各高校是怎么依照高考成绩录取 四不像是什么样的动物 孔家后人为什么要把“四不像”刻在孔府内的照壁上? 中国龙和外国龙的区别西方龙的区别 山东省烟台市高新技术产业开发区的车牌号是什么? 电脑重装系统按个键-(电脑重装系统按个键没反应) 如何通过shell脚本设置全局的环境变量 心里方面的书籍有哪些 shell脚本里面怎么在字符串中引用变量? 心理方面的书籍 shell脚本变量的定义与赋值 如何在shell脚本中设置环境变量 梦见自己头发掉了,是好是坏? 有关心理学的书哪些好? 我昨晚做梦梦到自己掉头发是好梦还是坏梦? 有哪些有名的心理书籍? 心理学书籍哪些好 梦见自己头发掉有不好是吗??? 关于心理方面的书籍有哪些? 有哪些推荐的行为心理学书籍? 心理方面有哪些推荐的书籍? 心理学入门的书有哪些 有哪些心理学方面的书比较好? 拼多多砍价是怎么设置的,怎么快速砍价方法介绍 为啥基本没人用的电动车脚踏板,要必须安装?专家给出解释 小数乘法怎么写 昨晚做梦梦到头发一拽掉一大把,是什么意思?谁知道可以告诉我吗? shell 脚本里的变量怎么加1 请教shell脚本变量如何等于多个值 shell脚本中变量问题 shell脚本中可以设置全局变量么 shell 脚本 怎么添加环境变量到/etc/profile shell脚本里对变量的名有什么要求呢?! shell中的位置参数变量$类型如何理解 在淘宝网上能买到自己想要的碟片吗? shell脚本里的变量怎么加1? 网上哪能买到正版碟片? 在Shell脚本中,读取键盘输入的内容并将其赋值给Shell变量的命令是什么... 这种碟片一般就是两三块,怎么网上卖这么贵。怎样在网上买便宜点的... 网购Dvd连续剧碟片要多少钱一张 请问中国的蓝光碟片正版购买渠道有哪些呢 什么公司做这个的呢 请问网购影碟比较好的网站是哪个?谢谢! 请问暹罗之恋的碟片能够在哪里网购到? 请问一下谁知道这张碟片哪里有正版的卖,最好是深圳的或者网购的链接也可... 求queer as folk碟片网购地址 想买一个什么乱七八糟碟片都可以放的DVD.推荐下.买杂牌如何?家住成都...