我在这里面临一个小问题,我想将包含空格的字符串传递给另一个程序,以便将整个字符串视为命令行参数.
简而言之,我想通过bash shell脚本执行以下结构的命令:command_name -a arg1 -b arg2 -c"arg with whitespaces here"
但无论我如何尝试,空格都不会保留在字符串中,默认情况下会被标记化.请一个解决方案,
编辑:这是我的脚本的主要部分:
#!/bin/bash
#-------- BLACKRAY CONFIG ---------------#
# Make sure the current user is in the sudoers list
# Running all instances with sudo
BLACKRAY_BIN_PATH='/opt/blackray/bin'
BLACKRAY_LOADER_DEF_PATH='/home/crozzfire'
BLACKRAY_LOADER_DEF_NAME='load.xml'
BLACKRAY_CSV_PATH='/home/crozzfire'
BLACKRAY_END_POINT='default -p 8890'
OUT_FILE='/tmp/out.log'
echo "The current binary path is $BLACKRAY_BIN_PATH"
# Starting the blackray 0.9.0 server
sudo "$BLACKRAY_BIN_PATH/blackray_start"
# Starting the blackray loader utility
BLACKRAY_INDEX_CMD="$BLACKRAY_BIN_PATH/blackray_loader -c $BLACKRAY_LOADER_DEF_PATH/$BLACKRAY_LOADER_DEF_NAME -d $BLACKRAY_CSV_PATH -e "\"$BLACKRAY_END_POINT\"""
sudo time $BLACKRAY_INDEX_CMD -a $OUT_FILE
#--------- END BLACKRAY CONFIG …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用他们的C API(libgearman)实现Gearman工作者.但是他们的C API文档很差而且不完整.虽然它非常类似于使用其他语言(如PHP)创建工作程序,但我仍然无法通过*gearman_worker_add_function();*在工作程序中注册函数;*
具体来说,我无法找到如何创建*gearman_worker_fn*的对象.
谢谢!