我如何使用 $ 符号?

我如何使用 $ 符号?

我知道可能有很多论坛专门讨论这个符号,但我想知道如何在调用中使用 $。我知道如何做

echo $USER

但是如果我想运行像 nmap 这样的程序来查找子网,或者我想创建一个文件,我该如何扩展我对这个符号的了解,因为这些不起作用:

 mkdir $IP
 mkdir $gateway

 nmap $ip
 nmap $subnetwork

您能否举一些例子来说明如何使用这个符号来制作文件或提取信息?

答案1

一般的

$ 的基本用途是$USER告诉 shell 您正在谈论一个 shell 变量。

man bash并滚动至(或跳至)

  • Special Parameters
  • EXPANSION
  • Parameter Expansion

但可能有点难以理解这些描述man bash。你可能会发现阅读一些教程,例如,你可以通过互联网找到

例子

shell 变量必须定义(要么在 shell 中定义,要么由您自己定义)。例如,USER是一个通用变量,但subnet在我的计算机中没有定义,所以我必须声明它,

subnet="some-text-or-number-string"

然后可以通过

echo "$subnet"

并在其他命令中使用(就像您想使用它一样)。

IP在我的计算机中没有定义,但是标准变量使用大写,因此最好对自己的变量使用小写以避免冲突。

ip=192.168.0.2

你可以使用以下方法检查

echo "$ip"

并将其删除

unset ip

根据@Terrance 和@Jo-ErlendSchinstad 的提示添加示例

您正在寻找的命令可以像这样nmap完成:ip route

nmap -sP $(ip route | grep kernel | awk '{print $1}')

在哪里$(a command line)让你使用[标准]输出shell 上下文中的命令行,通过以下更简单的例子进行解释,

myusername=$(whoami)

可以通过

echo $myusername

一个简单的整数计算器是用双括号创建的,如下所示,

$ echo $((1+2))
3

$ r=5
$ area=$((r**2 * 314 / 100))
$ echo "the circle's area is approx. = $area"
the circle's area is approx. = 78

相关内容