几经波折才能够实现使用 base64 加密、解密字符串并赋值给变量。网上绝大多数是使用 echo 管道实现 加密和解密字符串的输出。
代码如下:
pwd=$( base64 -d <<< MQo= ) # 解码
in=$( base64 <<< "123456") # 加密
另外一种方式:
test=$(printf "%s""123456" | base64) # 加密
echo $test
test=$(printf "%s" MTIzNDU2| base64 -d) # 解密
几经波折才能够实现使用 base64 加密、解密字符串并赋值给变量。网上绝大多数是使用 echo 管道实现 加密和解密字符串的输出。代码如下:pwd=$( base64 -d &lt;&lt;&lt; MQo= ) # 解码in=$( base64 &lt;&lt;&lt; "123456") # 加密 另外一种方式:test=$(printf "%s""1234...
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
•首个字符必须为字母(a-z,A-Z)。
•中间不能有空格,可以使用下划线(_)。
•不能使用标点符号。
•不能使用bash里的关键字(可用help命令查看保留关键字)。
变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:
代码如下:
for skill in Ada Coffe Action J
做开发第一个接触的编码方式就是Base64,当时是用url来传输一些参数,传输的两端会用Base64来编码和解码,保证数据不被url转义破坏。
下面是 维基百科 Base64 中的介绍,其实自己实现起来也不是很麻烦。
Base64 是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应于4个Base
一、Linux shell 截取字符变量的前8位,有方法如下: 代码如下:1.expr substr “$a” 1 82.echo $a|awk ‘{print substr(,1,8)}’3.echo $a|cut -c1-84.echo $5.expr $a : ‘\(.\\).*’6.echo $a|dd bs=1 count=8 2>/dev/null
二、按指定的字符串截取1、第一种方法:${varible##*string} 从左向右截取最后一个string后的字符串${varible#*string}从左向右截取第一个string后的字符串${varible%%string*}从
变量即在程序运行过程中它的值是允许改变的量
变量是用一串固定的字符来标示不固定的值的一种方法
变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息
在 shell 中变量是不能永久保存在系统中的,必须在文件中声明
2、变量的命名规则
变量名称中通常包含大小写字字母,数字,下划线
变量名必须以字母或下划线开头,变量名的长度不能...
纯shell程序实现base64编码,使用常规的加减乘除算法实现。有兴趣的也可以使用类似let "ret=mask&byte"语句直接使用位运算来改造此算法。
base64_encode_string()
source_string=$1
if [ 0 -eq ${#source_string} ]; then
python -c 'print reduce(lambda a,b: a*256+ord(b), raw_input("string: "), 0)'
解密代码[数字后+P]:
dc -e 输出的数字P
第二种:〔 应该是纯 Bash Shell,含 VIM 的 xxd 〕
用 gtalk@gmail.com 作为明文,加密分两步,当然了,也是可以一
目录变量的生成变量的删除变量的更改
变量的生成
要生成一个新变量,我们就用gen(或者g),很明显就是generate的意思,gen(或g)后跟要生成新变量的名字(注意名字不能以数字开头),然后跟新变量生成的等价条件(可以加判断条件之类的,我们后面再讲),如果后面没有跟其他等价条件,则生成一个变量,变量里没有值。生成一个常量值,像我们之前举过的例子:
gen x1 = 0
生成一个变量x1,x1的值为0。
生成一个变量,值等于另外一个变量的值,如:
gen x2 = hour
这里我们生成了一个变量x2
shell的变量
变量是用来临时保存数据的,并且该数据时可以变化的,任何一个语言都离不开变量,如果某个内容需要多次使用并且会重复出现,这样就可以使用变量了,如果需要修改直接修改变量就可以了
常见 Shell 变量的类型包括自定义变量、环境变量、只读变量、位置变量、预定义变量环境变量指的是出于运行需要而由 Linux 系统提前创建的一类变量,主要用于设置用户的工作环境,包括用户宿主目录、命令查找路径、用户当前目录、登录终端等。
环境变量的值由 Linux 系统自动维护,会随着用户状态的改变而改变。
使用 en
test=$(printf "%s""root" | base64) #base64加密
tt=$(printf "%s" $test| base64 -d) #base64解密
echo $test $tt
stat.S_IRUSR: Read by owner. 对于拥有者读的权限 --> Read by user. 对于所有者读的权限
stat.S_IWUSR: Write by owner. 对于拥有者写的权限 --> Write by user. 对于所有者写的权限
stat.S_IXUSR: Execute by owner. 对于拥有者执行的权限 --> Execute by user. 对于所有者执行的权限。
因为USR 是user, 不是owner
不过这里的 user 是用“所有者”代替还是“用户”代替,这点我就不太清楚了