到现在为止我知道了什么ARG_MAX
意思(感谢艾德·莫顿):
ls foo bar
命令为ls
,它有三个参数:foo
、和。它一共有 7 个字符,所以这里的
bar
的参数为。ls
7
现在假设这是我的脚本:
#!/usr/bin/bash
while read -r do_something
do
if [ "$do_something" == "some_string" ]
then
echo "do_something $do_something equals to some_string."
fi
done < some_file
/usr/bin/python3 generate_numbers.py
names="$(awk '{print $4}' another_file.txt)"
awk 'BEGIN { for (i = 1; i <= 5; ++i) print i }'
if [ "$(stat -c %s mail.txt)" -g '0' ]
then
echo -e "These are mailing list:\n\n$(cat mail.txt)" | mail -s "Mails List - $(date '+%Y-%m-%d %H:%M')"
现在有了上面的示例,当我运行bash /home/file
或时/home/file
,参数计数是什么?
wc -c file
那是459
(不包括事物本身)吗?- 这是针对每个命令的吗?例如
while
has166
、/usr/bin/python3
has20
等等。
我认为这是第二个假设,因为第一个假设不合逻辑,因为我看到一些巨大的 bash(或任何其他)脚本,它们比2097152
我的服务器中的还多(这个数字是getconf ARG_MAX
.