shell - 如何将带有特殊字符和空格的参数传递给 C-Shell 脚本
问题描述
我正在编写一个通用命令执行器 shell 脚本 generic_script.csh 。基本上它包含:
#!/usr/bin/csh -f
foreach x ("$argv")
$x
end
用法:generic_script.csh "ls -l" "groups" "mkdir /tmp/abc"
预期输出:依次执行参数中的命令。
问题:当我在 foreach 循环中解析 $argv 时,
- 如果我使用
$argv
,参数由空格分隔:
ls
-l
groups
mkdir
/tmp/abc
- 如果我使用
"$argv"
, $x 具有ls -l groups mkdir /tmp/abc
价值。
如何根据“”拆分参数,即
ls -l
groups
mkdir /tmp/abc
提前致谢!
解决方案
推荐阅读
- firebase - StreamBuilder 中的 Flutter FutureBuilder 得到重建
- objective-c - 推送 UIViewController 后 UIView 不居中
- sql - MS Access 不过滤短日期格式的计算字段
- ruby-on-rails - 为什么生成的活动记录查询不能在 sidekiq 中运行
- webpack - /package.json 中不存在 package.json
- flutter - Flutter 中的列表视图
- reactjs - React/Mobx:TypeError:无法读取未定义的属性“地图”
- javascript - 时间类型 (yyyymmddThhmmZ)
- c# - C# Autofac 新实例
- php - 我正在使用 spatie/laravel-sitemap 是否可以为这些 url 设置另一个 APP_URL