gpt4 book ai didi

linux - 空格导致命令无法完成

转载 作者:太空宇宙 更新时间:2023-11-04 09:34:46 25 4
gpt4 key购买 nike

我的设备有一些内置脚本以允许执行有限的操作。我需要尝试按原样使用脚本在设备上发出第二条命令。每个设备都有相同的脚本,所以如果我修改脚本,我将需要在每个盒子上都这样做,这是不切实际的。

脚本 (create.sh) 如下所示:

create_directory)
mkdir "$2"
;;

因此,如果我在 shell 中执行以下操作

create.sh create_directory test

我得到一个名为 test 的目录。我需要做的是创建目录并重新启动服务,例如:

create.sh create_directory test&&service apache2 restart

我遇到的问题是服务后的空格会中断命令,因为它认为每个空格都是传递给脚本的参数之间的中断。这是我可以与设备交互的唯一方式,因此这是我可以实现我需要的唯一方式。

无论如何都可以实现所提到的第二个命令,或者是否有潜在的解决方法,例如\20 是我理解的十六进制空格,因此空格字符的替代方法可能对我有用。

最佳答案

编写一个调用create.sh 的脚本,然后重新启动apache2。

#!/usr/bin/env bash

create.sh create_directory test
service apache2 restart

如果将脚本保存为 myscript.sh 然后

chmod 755 myscript.sh

你可以这样调用它

./myscript.sh

它会将您的两个命令合二为一,是的,您需要将这个新命令复制到您的每个“设备”。

关于linux - 空格导致命令无法完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27841693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com