summaryrefslogtreecommitdiff
path: root/bin/contrib/fix-rc-scripts
diff options
context:
space:
mode:
authorglenda <glenda@9front.local>2020-11-15 15:13:27 +0000
committerglenda <glenda@9front.local>2020-11-15 15:13:27 +0000
commit39318169e0b50551db511851829f9337c5fa6313 (patch)
tree65a0ef5c1da9677532fa8105293d017919473057 /bin/contrib/fix-rc-scripts
Import site to git
Diffstat (limited to 'bin/contrib/fix-rc-scripts')
-rwxr-xr-xbin/contrib/fix-rc-scripts27
1 files changed, 27 insertions, 0 deletions
diff --git a/bin/contrib/fix-rc-scripts b/bin/contrib/fix-rc-scripts
new file mode 100755
index 0000000..beb21c5
--- /dev/null
+++ b/bin/contrib/fix-rc-scripts
@@ -0,0 +1,27 @@
+#!/usr/local/plan9/bin/rc
+
+# Fix rc shell scripts to find rc without launching env every time.
+# Invoke with rc and plan9 versions of grep and ed in $PATH
+
+# If your system lacks which (e.g. some gnu/linux)
+# substitute the full path to rc in this line:
+rc=/usr/local/plan9/bin/rc
+firstline='#!'$"rc
+
+if(~ $#* 0) files = *
+if not files = $*
+
+myname = `{basename $0}
+
+for(file in $files) {
+ if(test -d $file) $0 $file/*
+ if not if(~ $file *$myname) {}
+ if not if(sed 1q $file | grep '^#!/.*[/ ]rc$' > /dev/null) {
+ {
+ echo 1c
+ echo $firstline
+ echo .
+ echo wq
+ } | ed $file > /dev/null
+ }
+}