Error[8]: Undefined offset: 146, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述在Shell中$是一个特殊的字符,在不同场景中有不同的用法。 引用变量 使用$直接引用变量,包括循环变量。 1 2 3 [email protected]:~# x=1 [email protected]:~# echo $x 1 双引号"括起来的字符串支持变量插值。 1 2 3 [email protected]:~# x=1 [email protected]:~# echo "x = $x"

在Shell中$是一个特殊的字符,在不同场景中有不同的用法。

引用变量

使用$直接引用变量,包括循环变量。

1
2
3
[email protected]:~# x=1
[email protected]:~# echo $x
1

双引号"括起来的字符串支持变量插值。

1
2
3
[email protected]:~# x=1
[email protected]:~# echo "x = $x"
x = 1

使用${}作为单词边界。

1
2
3
[email protected]:/var/log/Nginx# x=1
[email protected]:/var/log/Nginx# echo "x = ${x}yz"
x = 1yz

使用${#}获取变量字符串长度。

1
2
3
[email protected]:/var/log/Nginx# s=hello
[email protected]:/var/log/Nginx# echo "s.length = ${#s}"
s.length = 5
引用脚本或函数参数

基于下标的引用方式,0表示shell脚本文件名,n从1开始表示第n个参数,第1个参数是$1。

1
2
3
4
5
[email protected]:~# echo 'echo [email protected]:~# cat test.sh ' > test.sh
echo [email protected]:~# sh test.sh 1 2 3
test.sh 1
'
$#

注意,单引号1括起来的字符串不会进行插值。

使用2获取脚本或函数参数个数。

3
[email protected]:~# echo 'echo $#' > test.sh
[email protected]:~# sh test.sh 1 2 3
3
[email protected]
$*

使用1 2 3"[email protected]"以数组的形式引用参数列表。它们的区别在于使用双引号括起来用时,假设传入的参数为$*,那么1的值为”1”、”2”、”3”三个变量,2的值为”1 2 3”一个变量。

test.sh

3
4
5
6
7
8
9
10
echo using '[email protected]'
for x in "[email protected]"
do
echo + $x
done
echo using '$*'
for x in "$*"
do
echo - $x
done
1
2
3
4
5
6
7
[email protected] 大专栏  Linux Shell中‘$‘符号的N种用法7ws4eZ:~# sh test.sh 1 2 3
using [email protected]
+ 1
+ 2
+ 3
using $*
- 1 2 3
$?
$?
上一次命令的返回值

使用1上一次命令的返回值。0表示执行成功,非零值表示出错,注意这里与C语言的不同之处。

2的命名很好记,问号表示询问OS,上一次执行的命令结果怎么样啦?需要注意每执行一个命令都会覆盖这个变量。

3
4
5
6
[email protected]:~# true
[email protected]:~# echo $?
0
[email protected]:~# false
[email protected]:~# echo $?
1
$()
1
执行并获取命令输出

使用2执行并获取命令输出赋值给变量,等同于双引号的功能。

3
4
[email protected]:~# echo `date`
Sat Dec 2 15:07:50 CST 2017
[email protected]:~# echo $(date)
Sat Dec 2 15:07:56 CST 201
$[]
expr
表达式求值

使用$[]对表达式进行求值,与expr命令不同的是,1用于插值,而2则将值输出。

3
4
5
6
[email protected]:~# $[ 1 + 1 ]
2: command not found
[email protected]:~# echo $[ 1 + 1 ]
2
[email protected]:~# expr 1 + 1
2
$$
1
获取当前进程ID

使用2获取当前进程ID。

[email protected]:~# echo $$
16150
$!
&
后台运行的最后一个进程ID

使用1获取后台运行的最后一个进程ID,在命令后面使用2即可以创建后台进程。

3
4
5
[email protected]:~# tail -f /var/log/Nginx/access.log &
[1] 16176
[email protected]:~# echo $!
16176
[email protected]:~# kill $!
$-
1
获取shell选项

使用2获取当前shell的选项。具体的选项意义可以参考segmentfault上的回答。

[email protected]:~# echo $-
himBH
[+++]
[+++]
总结

以上是内存溢出为你收集整理的Linux Shell中‘$‘符号的N种用法全部内容,希望文章能够帮你解决Linux Shell中‘$‘符号的N种用法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 147, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述在Shell中$是一个特殊的字符,在不同场景中有不同的用法。 引用变量 使用$直接引用变量,包括循环变量。 1 2 3 [email protected]:~# x=1 [email protected]:~# echo $x 1 双引号"括起来的字符串支持变量插值。 1 2 3 [email protected]:~# x=1 [email protected]:~# echo "x = $x"

在Shell中$是一个特殊的字符,在不同场景中有不同的用法。

引用变量

使用$直接引用变量,包括循环变量。

1
2
3
[email protected]:~# x=1
[email protected]:~# echo $x
1

双引号"括起来的字符串支持变量插值。

1
2
3
[email protected]:~# x=1
[email protected]:~# echo "x = $x"
x = 1

使用${}作为单词边界。

1
2
3
[email protected]:/var/log/Nginx# x=1
[email protected]:/var/log/Nginx# echo "x = ${x}yz"
x = 1yz

使用${#}获取变量字符串长度。

1
2
3
[email protected]:/var/log/Nginx# s=hello
[email protected]:/var/log/Nginx# echo "s.length = ${#s}"
s.length = 5
引用脚本或函数参数

基于下标的引用方式,0表示shell脚本文件名,n从1开始表示第n个参数,第1个参数是$1。

1
2
3
4
5
[email protected]:~# echo 'echo [email protected]:~# cat test.sh ' > test.sh
echo [email protected]:~# sh test.sh 1 2 3
test.sh 1
'
$#

注意,单引号1括起来的字符串不会进行插值。

使用2获取脚本或函数参数个数。

3
[email protected]:~# echo 'echo $#' > test.sh
[email protected]:~# sh test.sh 1 2 3
3
[email protected]
$*

使用1 2 3"[email protected]"以数组的形式引用参数列表。它们的区别在于使用双引号括起来用时,假设传入的参数为$*,那么1的值为”1”、”2”、”3”三个变量,2的值为”1 2 3”一个变量。

test.sh

3
4
5
6
7
8
9
10
echo using '[email protected]'
for x in "[email protected]"
do
echo + $x
done
echo using '$*'
for x in "$*"
do
echo - $x
done
1
2
3
4
5
6
7
[email protected] 大专栏  Linux Shell中‘$‘符号的N种用法7ws4eZ:~# sh test.sh 1 2 3
using [email protected]
+ 1
+ 2
+ 3
using $*
- 1 2 3
$?
$?
上一次命令的返回值

使用1上一次命令的返回值。0表示执行成功,非零值表示出错,注意这里与C语言的不同之处。

2的命名很好记,问号表示询问OS,上一次执行的命令结果怎么样啦?需要注意每执行一个命令都会覆盖这个变量。

3
4
5
6
[email protected]:~# true
[email protected]:~# echo $?
0
[email protected]:~# false
[email protected]:~# echo $?
1
$()
1
执行并获取命令输出

使用2执行并获取命令输出赋值给变量,等同于双引号的功能。

3
4
[email protected]:~# echo `date`
Sat Dec 2 15:07:50 CST 2017
[email protected]:~# echo $(date)
Sat Dec 2 15:07:56 CST 201
$[]
expr
表达式求值

使用$[]对表达式进行求值,与expr命令不同的是,1用于插值,而2则将值输出。

3
4
5
6
[email protected]:~# $[ 1 + 1 ]
2: command not found
[email protected]:~# echo $[ 1 + 1 ]
2
[email protected]:~# expr 1 + 1
2
$$
1
获取当前进程ID

使用2获取当前进程ID。

[email protected]:~# echo $$
16150
$!
&
后台运行的最后一个进程ID

使用1获取后台运行的最后一个进程ID,在命令后面使用2即可以创建后台进程。

3
4
5
[email protected]:~# tail -f /var/log/Nginx/access.log &
[1] 16176
[email protected]:~# echo $!
16176
[email protected]:~# kill $!
$-
1
获取shell选项

使用2获取当前shell的选项。具体的选项意义可以参考segmentfault上的回答。

[email protected]:~# echo $-
himBH

[+++]
总结

以上是内存溢出为你收集整理的Linux Shell中‘$‘符号的N种用法全部内容,希望文章能够帮你解决Linux Shell中‘$‘符号的N种用法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Linux Shell中‘$‘符号的N种用法_系统运维_内存溢出

Linux Shell中‘$‘符号的N种用法

Linux Shell中‘$‘符号的N种用法,第1张

概述在Shell中$是一个特殊的字符,在不同场景中有不同的用法。 引用变量 使用$直接引用变量,包括循环变量。 1 2 3 [email protected]:~# x=1 [email protected]:~# echo $x 1 双引号"括起来的字符串支持变量插值。 1 2 3 [email protected]:~# x=1 [email protected]:~# echo "x = $x"

在Shell中$是一个特殊的字符,在不同场景中有不同的用法。

引用变量

使用$直接引用变量,包括循环变量。

1
2
3
[email protected]:~# x=1
[email protected]:~# echo $x
1

双引号"括起来的字符串支持变量插值。

1
2
3
[email protected]:~# x=1
[email protected]:~# echo "x = $x"
x = 1

使用${}作为单词边界。

1
2
3
[email protected]:/var/log/Nginx# x=1
[email protected]:/var/log/Nginx# echo "x = ${x}yz"
x = 1yz

使用${#}获取变量字符串长度。

1
2
3
[email protected]:/var/log/Nginx# s=hello
[email protected]:/var/log/Nginx# echo "s.length = ${#s}"
s.length = 5
引用脚本或函数参数

基于下标的引用方式,0表示shell脚本文件名,n从1开始表示第n个参数,第1个参数是$1。

1
2
3
4
5
[email protected]:~# echo 'echo [email protected]:~# cat test.sh ' > test.sh
echo [email protected]:~# sh test.sh 1 2 3
test.sh 1
'
$#

注意,单引号1括起来的字符串不会进行插值。

使用2获取脚本或函数参数个数。

3
[email protected]:~# echo 'echo $#' > test.sh
[email protected]:~# sh test.sh 1 2 3
3
[email protected]
$*

使用1 2 3"[email protected]"以数组的形式引用参数列表。它们的区别在于使用双引号括起来用时,假设传入的参数为$*,那么1的值为”1”、”2”、”3”三个变量,2的值为”1 2 3”一个变量。

test.sh

3
4
5
6
7
8
9
10
echo using '[email protected]'
for x in "[email protected]"
do
echo + $x
done
echo using '$*'
for x in "$*"
do
echo - $x
done
1
2
3
4
5
6
7
[email protected] 大专栏  Linux Shell中‘$‘符号的N种用法7ws4eZ:~# sh test.sh 1 2 3
using [email protected]
+ 1
+ 2
+ 3
using $*
- 1 2 3
$?
$?
上一次命令的返回值

使用1上一次命令的返回值。0表示执行成功,非零值表示出错,注意这里与C语言的不同之处。

2的命名很好记,问号表示询问OS,上一次执行的命令结果怎么样啦?需要注意每执行一个命令都会覆盖这个变量。

3
4
5
6
[email protected]:~# true
[email protected]:~# echo $?
0
[email protected]:~# false
[email protected]:~# echo $?
1
$()
1
执行并获取命令输出

使用2执行并获取命令输出赋值给变量,等同于双引号的功能。

3
4
[email protected]:~# echo `date`
Sat Dec 2 15:07:50 CST 2017
[email protected]:~# echo $(date)
Sat Dec 2 15:07:56 CST 201
$[]
expr
表达式求值

使用$[]对表达式进行求值,与expr命令不同的是,1用于插值,而2则将值输出。

3
4
5
6
[email protected]:~# $[ 1 + 1 ]
2: command not found
[email protected]:~# echo $[ 1 + 1 ]
2
[email protected]:~# expr 1 + 1
2
$$
1
获取当前进程ID

使用2获取当前进程ID。

[email protected]:~# echo $$
16150
$!
&
后台运行的最后一个进程ID

使用1获取后台运行的最后一个进程ID,在命令后面使用2即可以创建后台进程。

3
4
5
[email protected]:~# tail -f /var/log/Nginx/access.log &
[1] 16176
[email protected]:~# echo $!
16176
[email protected]:~# kill $!
$-
1
获取shell选项

使用2获取当前shell的选项。具体的选项意义可以参考segmentfault上的回答。

[email protected]:~# echo $-
himBH

总结

以上是内存溢出为你收集整理的Linux Shell中‘$‘符号的N种用法全部内容,希望文章能够帮你解决Linux Shell中‘$‘符号的N种用法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1023370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存