Shell

推荐列表 站点导航

当前位置:首页 > 脚本编程 > Shell >

linux shell中${ }的一些特异功能

来源:网络整理  作者:  发布时间:2020-12-20 20:29
linux shell中${ }的一些特异功能,这部分内容是shell中的比较经典的部分之一,建议认真学习,深刻体会。...
${file//dir/path}:将全部dir替换成path:/path1/path2/path3/my.file.txt

${file##*/}:从左往右截去最后一个 / 左面的内容,包含 / 符号:my.file.txt
${file?my.file.txt}  : 假如 $file 沒設定,則將  my.file.txt  輸出至  STDERR。 (保留空值及非空值))
% 是从右往左截去标记的右面的内容,包含该标记。%是最小匹配,%%是最大匹配。

记忆方法:

還有哦,${#var} 可計算出變量值的長度:
${file-my.file.txt} :  假如 $file 為空值,則使用  my.file.txt  作默認值。(保留沒設定及非空值)
${file%%.*}:从右往左截去最后一个 . 右边的内容,包含 . 符号:/dir1/dir2/dir3/my

file=/dir1/dir2/dir3/my.file.txt

${file:0:5}:从左边开始提取从第0位开始的长度为5个字符长度的内容:/dir1

echo "a b "{1..3}"|"
${#file}  可得到  27 ,因為  /dir1/dir2/dir3/my.file.txt  剛好是  27 個字節...

${file:5:5}:从左边开始提取从第5位开始的长度为5个字符长度的内容:/dir2
${file: -4}: 只提取最后4位:.txt
${file+my.file.txt} :  不管 $file 為何值,均使用  my.file.txt  作默認值。 (不保留任何值)
${file=my.file.txt} :  假如 $file 沒設定,則使用  my.file.txt  作默認值,同時將 $file 定義為非空值。(保留空值及非空值)
${file##*.}:从左往右截去最后一个 . 左边的内容,包含 . 符号:txt
${file%%/*}:从右往左截去最后一个 / 右边的内容,包含 / 符号:(空值)
${file%/*}: 从右往左截去第一个 / 右边的内容,  包含 / 符号:/dir1/dir2/dir3
${file:-my.file.txt} : 假如 $file 沒有設定或為空值,則使用  my.file.txt  作默認值。(保留非空值)
${file:?my.file.txt}  :假如 $file 沒設定或為空值,則將  my.file.txt  輸出至STDERR。 (保留非空值)

# 是从左往右截去标记的左面的内容,包含该标记。#是最小匹配,##是最大匹配。
${file:+my.file.txt}  :除非 $file 為空值,否則使用  my.file.txt  作默認值。 (保留空值)
${file:=my.file.txt}  :假如 $file 沒設定或為空值,則使用  my.file.txt  作默認值,同時將  $file 定義為非空值。 (保留非空值)
a b 1| a b 2| a b 3|

${file#*/}: 从左往右截去第一个 / 左面的内容,  包含 / 符号:dir1/dir2/dir3/my.file.txt
${file%.*}: 从右往左截去第一个 . 右边的内容,  包含 . 符号:/dir1/dir2/dir3/my.file

假设我们定义一个变量为:

linux shell中${ }的一些特异功能,这部分内容是shell中的比较经典的部分之一,建议认真学习,深刻体会。

${file/dir/path}:将第一个dir替换成path:/path1/dir2/dir3/my.file.txt
${file::-4}:删除最4位字符:/dir1/dir2/dir3/my.file (GNU bash, version 4.2.8上测试通过)

利用  ${ }  還可針對不同的變數狀態賦值(沒設定、空值、非空值):
${file#*.}: 从左往右截去第一个 . 左边的内容,  包含 . 符号:file.txt

相关热词: 功能 shell Linux

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/jiaob/shell/6257.shtml

最新文章
PHP生成奖状 PHP生成奖状

时间:2021-01-06

python实现输入五个数并求 python实现输入五个数并求

时间:2021-01-06

php检测网站是否正常打开 php检测网站是否正常打开

时间:2021-01-05

python怎么右对齐 python怎么右对齐

时间:2021-01-05

Python3爬虫入门之Python3的安 Python3爬虫入门之Python3的安

时间:2021-01-05

如何用PHP接收http请求头信 如何用PHP接收http请求头信

时间:2021-01-05

数据库怎么连接用php写的 数据库怎么连接用php写的

时间:2021-01-05

php后缀怎么打开 php后缀怎么打开

时间:2021-01-05

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

linux shell中${ }的一些特异功能

2020-12-20 编辑:

${file//dir/path}:将全部dir替换成path:/path1/path2/path3/my.file.txt

${file##*/}:从左往右截去最后一个 / 左面的内容,包含 / 符号:my.file.txt
${file?my.file.txt}  : 假如 $file 沒設定,則將  my.file.txt  輸出至  STDERR。 (保留空值及非空值))
% 是从右往左截去标记的右面的内容,包含该标记。%是最小匹配,%%是最大匹配。

记忆方法:

還有哦,${#var} 可計算出變量值的長度:
${file-my.file.txt} :  假如 $file 為空值,則使用  my.file.txt  作默認值。(保留沒設定及非空值)
${file%%.*}:从右往左截去最后一个 . 右边的内容,包含 . 符号:/dir1/dir2/dir3/my

file=/dir1/dir2/dir3/my.file.txt

${file:0:5}:从左边开始提取从第0位开始的长度为5个字符长度的内容:/dir1

echo "a b "{1..3}"|"
${#file}  可得到  27 ,因為  /dir1/dir2/dir3/my.file.txt  剛好是  27 個字節...

${file:5:5}:从左边开始提取从第5位开始的长度为5个字符长度的内容:/dir2
${file: -4}: 只提取最后4位:.txt
${file+my.file.txt} :  不管 $file 為何值,均使用  my.file.txt  作默認值。 (不保留任何值)
${file=my.file.txt} :  假如 $file 沒設定,則使用  my.file.txt  作默認值,同時將 $file 定義為非空值。(保留空值及非空值)
${file##*.}:从左往右截去最后一个 . 左边的内容,包含 . 符号:txt
${file%%/*}:从右往左截去最后一个 / 右边的内容,包含 / 符号:(空值)
${file%/*}: 从右往左截去第一个 / 右边的内容,  包含 / 符号:/dir1/dir2/dir3
${file:-my.file.txt} : 假如 $file 沒有設定或為空值,則使用  my.file.txt  作默認值。(保留非空值)
${file:?my.file.txt}  :假如 $file 沒設定或為空值,則將  my.file.txt  輸出至STDERR。 (保留非空值)

# 是从左往右截去标记的左面的内容,包含该标记。#是最小匹配,##是最大匹配。
${file:+my.file.txt}  :除非 $file 為空值,否則使用  my.file.txt  作默認值。 (保留空值)
${file:=my.file.txt}  :假如 $file 沒設定或為空值,則使用  my.file.txt  作默認值,同時將  $file 定義為非空值。 (保留非空值)
a b 1| a b 2| a b 3|

${file#*/}: 从左往右截去第一个 / 左面的内容,  包含 / 符号:dir1/dir2/dir3/my.file.txt
${file%.*}: 从右往左截去第一个 . 右边的内容,  包含 . 符号:/dir1/dir2/dir3/my.file

假设我们定义一个变量为:

linux shell中${ }的一些特异功能,这部分内容是shell中的比较经典的部分之一,建议认真学习,深刻体会。

${file/dir/path}:将第一个dir替换成path:/path1/dir2/dir3/my.file.txt
${file::-4}:删除最4位字符:/dir1/dir2/dir3/my.file (GNU bash, version 4.2.8上测试通过)

利用  ${ }  還可針對不同的變數狀態賦值(沒設定、空值、非空值):
${file#*.}: 从左往右截去第一个 . 左边的内容,  包含 . 符号:file.txt

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/jiaob/shell/6257.shtml

相关文章

风云图片

推荐阅读

返回Shell频道首页