我的设备有一些内置脚本,允许有限的操作。我需要尝试使用脚本在设备上发出第二个命令。每个设备都有相同的脚本,所以如果我修改脚本,我需要在每个不切实际的框上执行此操作。
脚本(create.sh)如下所示:
create_directory)
mkdir "$2"
;;
因此,如果我在shell中执行以下操作
create.sh create_directory test
我得到一个名为test的目录。我需要做的是创建目录并重新启动服务,例如:
create.sh create_directory test&&service apache2 restart
我遇到的问题是服务后的空间会破坏命令,因为它认为每个空格都是传递给脚本的参数之间的中断。这是我可以与设备连接的唯一方式,因此这是我实现我需要的唯一方式。
无论如何要实现所提到的第二个命令,或者是否有潜在的解决方法,例如\ 20例如对于空间十六进制是我理解的,因此空格字符的替代可能对我有用。
答案 0 :(得分:2)
编写一个调用create.sh
的脚本,然后重新启动apache2。
#!/usr/bin/env bash
create.sh create_directory test
service apache2 restart
如果您将脚本保存为myscript.sh
,然后
chmod 755 myscript.sh
然后您可以将其称为
./myscript.sh
它会将你的两个命令合并为一个,是的,你需要将这个新命令复制到你的每个设备中#34;。
答案 1 :(得分:0)
我的解决方案如下:
./test.sh echo_var test1;what="service restart apache2";$what
这意味着脚本永远不会捕获空格