将 bash 脚本转换为 busybox 脚本
Turning a bash script into a busybox script
我正在使用只有 busybox(ash?)且不支持 bash 的设备。不过,我需要运行下面的bash脚本就可以了。有可能还是busybox根本不支持脚本?
#!/bin/bash
domain="mydomain.com"
record="11019653"
api_key="key1234"
ip="$(curl http://ipecho.net/plain)"
echo content="$(curl \
-k \
-H "Authorization: Bearer $api_key" \
-H "Content-Type: application/json" \
-d '{"data": "'"$ip"'"}' \
-X PUT "https://api.digitalocean.com/v2/domains/$domain/records/$record")"
您的脚本中没有任何可能因灰烬而中断的问题。
嗯,除了你在做 echo content="...."
。这将在输出中打印单词 content=
并在引号中加入命令的输出。
如果你想设置一个变量的值然后打印它,做:
#!/bin/ash
domain="mydomain.com"
record="11019653"
api_key="key1234"
ip="$(curl http://ipecho.net/plain)"
content="$(curl \
-k \
-H "Authorization: Bearer $api_key" \
-H "Content-Type: application/json" \
-d '{"data": "'"$ip"'"}' \
-X PUT "https://api.digitalocean.com/v2/domains/$domain/record/$record")"
echo "$content"
程序 busybox 将作为 shell 如果与名称 ash 链接:
ln -s /bin/busybox /bin/ash
即使在您当前的目录(或测试目录)中:
ln -s /bin/busybox ash
然后,您可以通过在 PWD 中键入 ./ash
或在 PATH 目录中键入 ash
来启动它。如果愿意,您可以从中测试命令和脚本,或者使用 bash 作为 shell 并使用 ash script.sh
或(更好)./script.sh
启动脚本,如果 she-bang 的文件是 #!/bin/ash
我正在使用只有 busybox(ash?)且不支持 bash 的设备。不过,我需要运行下面的bash脚本就可以了。有可能还是busybox根本不支持脚本?
#!/bin/bash
domain="mydomain.com"
record="11019653"
api_key="key1234"
ip="$(curl http://ipecho.net/plain)"
echo content="$(curl \
-k \
-H "Authorization: Bearer $api_key" \
-H "Content-Type: application/json" \
-d '{"data": "'"$ip"'"}' \
-X PUT "https://api.digitalocean.com/v2/domains/$domain/records/$record")"
您的脚本中没有任何可能因灰烬而中断的问题。
嗯,除了你在做 echo content="...."
。这将在输出中打印单词 content=
并在引号中加入命令的输出。
如果你想设置一个变量的值然后打印它,做:
#!/bin/ash
domain="mydomain.com"
record="11019653"
api_key="key1234"
ip="$(curl http://ipecho.net/plain)"
content="$(curl \
-k \
-H "Authorization: Bearer $api_key" \
-H "Content-Type: application/json" \
-d '{"data": "'"$ip"'"}' \
-X PUT "https://api.digitalocean.com/v2/domains/$domain/record/$record")"
echo "$content"
程序 busybox 将作为 shell 如果与名称 ash 链接:
ln -s /bin/busybox /bin/ash
即使在您当前的目录(或测试目录)中:
ln -s /bin/busybox ash
然后,您可以通过在 PWD 中键入 ./ash
或在 PATH 目录中键入 ash
来启动它。如果愿意,您可以从中测试命令和脚本,或者使用 bash 作为 shell 并使用 ash script.sh
或(更好)./script.sh
启动脚本,如果 she-bang 的文件是 #!/bin/ash