Linux 文件名前$1的含义是什么

Linux 文件名前$1的含义是什么,linux,bash,shell,Linux,Bash,Shell,这个bash函数复制两个文件/proc/self/mountstats和/proc/net/rpc/nfsd。$1/proc self mountstats.$2的含义是什么?我在文件名前面看到$1,在文件末尾看到$2 我知道$0是basename,$1是第一个arg,$2是第二个arg,依此类推。我想知道的是,当他们使用像$1/proc self-mountstats.$2这样的数据时,会产生什么结果。让我们假设$1=123和$2=100。你的意思是它将变成123/proc-self-moun

这个bash函数复制两个文件/proc/self/mountstats和/proc/net/rpc/nfsd。$1/proc self mountstats.$2的含义是什么?我在文件名前面看到$1,在文件末尾看到$2

我知道$0是basename,$1是第一个arg,$2是第二个arg,依此类推。我想知道的是,当他们使用像$1/proc self-mountstats.$2这样的数据时,会产生什么结果。让我们假设$1=123和$2=100。你的意思是它将变成123/proc-self-mountstats.100


我在谷歌上搜索了一下,想弄明白它的意思,但没有找到任何线索。

在函数外$1代表脚本的第一个参数。 在函数中,$1代表函数的第一个参数

我想知道的是,当他们使用像$1/proc self-mountstats.$2这样的数据时,会产生什么结果。让我们假设$1=123和$2=100。你的意思是它将变成123/proc-self-mountstats.100


是的,没错。展开的值与文字部分连接在一起,形成一个大字符串。

在函数外部,它是脚本的第一个参数。在函数内部,它是函数的第一个参数。当然,为什么你会假设语义发生了变化?这显然是一个$1的拼写错误。
function copy_nfs_files {
        [ -f /proc/self/mountstats ] && cp /proc/self/mountstats $1/proc-self-mountstats.$2 >/dev/null 2>&1
        [ -f /proc/net/rpc/nfsd ] && cp /proc/net/rpc/nfsd $1/proc-net-rpc-nfsd.$2 >/dev/null 2>&1
}