0
点赞
收藏
分享

微信扫一扫

备战2个月,四轮面试拿下字节offer...

回溯 2023-05-04 阅读 86

1、KaTeX parse error: Expected 'EOF', got '#' at position 39: …inuxforliuhj ~]#̲ a=java [root@l…aa"
linux
[root@linuxforliuhj ~]# echo “KaTeX parse error: Expected 'EOF', got '#' at position 35: …inuxforliuhj ~]#̲ echo "a”
java
[root@linuxforliuhj ~]#
2、${ }还有一个重要的功能,就是文本处理
获取字符串长度 ${#a}

[root@linuxforliuhj ~]# a=hello
[root@linuxforliuhj ~]# echo ${#a}
5

3、字符串切片${a🅱️c}
将字符串变量a从第b个位置开始向后截取c个字符,b是指下标,下标从0开始

[root@linuxforliuhj ~]# a=‘hello linux!’
[root@linuxforliuhj ~]# echo a : 0 : 5 h e l l o 4 、替换字符串 {a:0:5} hello 4、替换字符串 a:0:5hello4、替换字符串{a/b/c}
将变量a中的b全部替换为c,开头一个正斜杠为只匹配第一个字符串,两个正斜杠为匹配所有字符。

[root@linuxforliuhj ~]# a=‘hello linux linux’

#将a中的第一个linux替换为java
[root@linuxforliuhj ~]# echo “${a/linux/java}”
hello java linux
5、字符串截取
格式:
${parameter#word} # 删除匹配前缀
${parameter##word}
${parameter%word} # 删除匹配后缀
${parameter%%word}

去掉左边,#最短匹配模式,##最长匹配模式。

% 去掉右边,%最短匹配模式,%%最长匹配模式。

[root@linuxforliuhj ~]# URL=“http://www.baidu.com/baike/user.html”

#以//为分隔符截取右边字符串
[root@linuxforliuhj ~]# echo ${URL#*//}
www.baidu.com/baike/user.html

#以/为分隔符截取右边字符串,##表示尽可能多的删除,保留最少内容
[root@linuxforliuhj ~]# echo ${URL##/}
user.html
[root@linuxforliuhj ~]# echo ${URL#
/}
/www.baidu.com/baike/user.html
6、变量状态赋值
${VAR:-string} 如果 VAR 变量为空则返回 string
${VAR:+string} 如果 VAR 变量不为空则返回 string
${VAR:=string} 如果 VAR 变量为空则重新赋值 VAR 变量值为 string
${VAR:?string} 如果 VAR 变量为空则将 string 输出到 stderr

#如果变量为空就返回 hello world!: # VAR=
echo ${VAR:-‘hello world!’}
hello world!
#如果变量不为空就返回 hello world!: # VAR=“hello”
echo ${VAR:+‘hello world!’}
hello world!
#如果变量为空就重新赋值:
VAR=
echo ${VAR:=hello}
hello
echo $VAR
hello
#如果变量为空就将信息输出 stderr: # VAR=
echo ${VAR:?value is null}
-bash: VAR: value is null

举报

相关推荐

0 条评论