⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 self-source.sh

📁 Shall高级编程
💻 SH
字号:
#!/bin/bash# self-source.sh: a script sourcing itself "recursively."# From "Stupid Script Tricks," Volume II.MAXPASSCNT=100    # Maximum number of execution passes.echo -n  "$pass_count  "#  At first execution pass, this just echoes two blank spaces,#+ since $pass_count still uninitialized.let "pass_count += 1"#  Assumes the uninitialized variable $pass_count#+ can be incremented the first time around.#  This works with Bash and pdksh, but#+ it relies on non-portable (and possibly dangerous) behavior.#  Better would be to initialize $pass_count to 0 before incrementing.while [ "$pass_count" -le $MAXPASSCNT ]do  . $0   # Script "sources" itself, rather than calling itself.         # ./$0 (which would be true recursion) doesn't work here. Why?done  #  What occurs here is not actually recursion,#+ since the script effectively "expands" itself, i.e.,#+ generates a new section of code#+ with each pass through the 'while' loop',#  with each 'source' in line 20.##  Of course, the script interprets each newly 'sourced' "#!" line#+ as a comment, and not as the start of a new script.echoexit 0   # The net effect is counting from 1 to 100.         # Very impressive.# Exercise:# --------# Write a script that uses this trick to actually do something useful.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -