首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >监视-命令-别名-展开和需要使用引号

监视-命令-别名-展开和需要使用引号
EN

Unix & Linux用户
提问于 2018-07-06 13:40:55
回答 1查看 1.3K关注 0票数 3

我的问题类似于注意这里的问题,但有点扭曲。我需要使用引号,这似乎被一个别名的手表剥去。

我希望运行监视自定义squeue命令:

代码语言:javascript
复制
$alias squeue_personal='squeue -o "%.18i %.9P %.8j %.8u %.216t %.10M %.6D %R    %V   %S  %Z"'
$alias watch='watch '        

注: 根据另一个观察问题

但这个还是没用的。因为假名表去掉了报价:

代码语言:javascript
复制
Every 2.0s: squeue -o %.18i %.9P %.8j %.8u %.2t %.10M %.6D %R    %V   %S  %Z                                                                                            Fri Jul  6 12:06:57 2018

squeue: error: Unrecognized option: %.9P
Usage: squeue [-A account] [--clusters names] [-i seconds] [--job jobid]
              [-n name] [-o format] [-p partitions] [--qos qos]
              [--reservation reservation] [--sort fields] [--start]
              [--step step_id] [-t states] [-u user_name] [--usage]
              [-L licenses] [-w nodes] [-ahjlrsv]

如果我不使用化名,一切都会好的。例如,以下工作:

代码语言:javascript
复制
$watch 'squeue  -o "%.18i %.9P %.8j %.8u %.2t %.10M %.6D %R    %V   %S  %Z"'

我确信这个解决方案是另一个手表问题的一些小问题,但我不知道是什么。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-07-06 15:22:12

watch将其命令行参数连接起来,用空格将它们连接起来,并将结果作为字符串传递给sh -c。所以watch ls -l "foo bar"watch ls -l foo bar一样,squeue也有类似的问题。你有两个选择:

  1. watch启动的shell添加显式引号。就像你在上一个例子中所做的那样。只是当你的别名展开时,双引号不会被引用。外部引号在定义别名时只引用它。当扩展别名时,它们不会在命令行上操作。所以,其中任何一种:观看尖叫-o‘%.18i %.9P %.8j %.8u %.2t %.10M %.6D %R %V %Z’手表尖叫-o \%.18i %.9P %.8j %.8u %.2t %.10M %.6D %R %V %Z\“别名手表=‘watch’别名sq='squeue -o‘%.18i %.9P %.8j %.8u %.8u%.8u%.%.6D %R %V %S %Z\“手表sq别名sq=\''squeue -o "%.18i %.9P %.8j %.8u %.10M %.6D %R %V %S %Z”‘>请注意:您可以使用set -x运行watch >/dev/null来查看shell实际运行的命令,如果引号实际上被传递给watch,您将在那里看到。
  2. 告诉watch跳过shell,直接运行命令。这样,单独的命令行参数保持独立。手册页-x--exec将命令传递给exec(2)而不是sh -c,这减少了使用额外引用来达到预期效果的需要。-x -o "%.18i %.9P %.8j %.8u %.2t %.10M %.6D %V %V %S %Z“别名-o =‘watch -x’别名sq='squeue -o‘%.18i %.9P %.8j %.8u %.216t %.10M %.6D %V %S %Z”watch x-o "%.18i %.9p%.9p%.8j%.8u%.216t%.10M%.6D %R %5%S%Z
票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/453858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档