如果我在本地命令行中使用 grep 和 sort 等执行 find 命令,我会得到如下返回的行:
# find ~/logs/ -iname 'status' | xargs grep 'last seen' | sort --field-separator=: -k 4 -g
0:0:line:1
0:0:line:2
0:0:line:3
Run Code Online (Sandbox Code Playgroud)
如果我通过 ssh 执行相同的命令,则返回的文本将不带换行符打印,如下所示:
# VARcmdChk="$(ssh ${VARuser}@${VARserver} "find ~/logs/ -iname 'status' | xargs grep 'last seen' | sort --field-separator=: -k 4 -g")"
# echo ${VARcmdChk}
0:0:line:1 0:0:line:2 0:0:line:3
Run Code Online (Sandbox Code Playgroud)
我试图理解为什么 ssh 正在清理返回的文本,以便将换行符转换为空格。我还没有尝试输出到文件,然后使用 scp 将其拉回来。似乎很浪费,因为我只想在本地查看远程结果。
我试图通过命令行将参数传递给cURL,这样:
curl -s -X POST -H "Content-Type: text/xml" -H "Cache-Control: no-cache" -d '<Data Token="someToken" Name='"$appName"' ID='"$someVar"' ParseAppID='"$someVar"' ParseRESTKey='"$someVar"' AndroidPackage='"$someVar"' Version="1"></Data>' 'https://prefix.something.com/somePath?InputType=Xml'
Run Code Online (Sandbox Code Playgroud)
(此行实际上是从Postman应用程序中提取的).
我用Google搜索了这个问题,发现了许多对我不起作用的解决方案(链接是过去的问题......):
'before...'"${someVar}"'...after...'.无法完成请求.-d @fileName).无法发布.<Data>双引号替换令牌周围的单引号 - 但命令显然不能接受这样的替换.我得到的错误是<Error></Error>或者The server encountered an error and could not complete your request.
有没有机会存在其他解决方案?以前有人遇到过这样的问题吗?
我会很乐意提供任何帮助.
我正在尝试尽可能简单地自动化 GroupMe 机器人。从命令行发送消息的一种简单方法是使用以下命令:
curl -d '{"text" : "Your message here", "bot_id" : "this_is_a_secret_string"}' https://api.groupme.com/v3/bots/post
Run Code Online (Sandbox Code Playgroud)
在 Shell 脚本中,我想替换"Your message here"为var,其中var被设置为来自不同命令的输出。这可能吗?
我用它替换了“您的消息”的事情不起作用:
var
$var
(var)
$(var)
{var}
${var}
Run Code Online (Sandbox Code Playgroud)
双引号 ("") 内的任何内容都被视为字符串,因此在这些方面没有做太多尝试。
我试图找到一种方法,在此命令中使用变量将 -10 替换为 n_days var:
n_days= -10
date_prefix=$(date -d '-10 day' +%Y/%m/%d)
Run Code Online (Sandbox Code Playgroud)
我尝试了这种方法,但没有成功:
date_prefix=$(date -d '${n_days} day' +%Y/%m/%d)
Run Code Online (Sandbox Code Playgroud) 我编写了这个脚本:
for i in `seq 1 $1`; do
timestamp=$(uuidgen)
cat $2.json | jq '.transactionId = "$timestamp"' > $3/$timestamp.json
done
Run Code Online (Sandbox Code Playgroud)
我的问题是,jq '.transactionId = "$timestamp"'因为文件的内容是:
{
"transactionId": "$timestamp"
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?