不带文件扩展名的Bash或tsch命令
我不熟悉脚本编写。当查看前雇员的R代码时,有一行他们调用命令行。我不知道如何在网上搜索该行/目的。感谢您的帮助 有问题的代码行:不带文件扩展名的Bash或tsch命令,bash,shell,scripting,tcsh,Bash,Shell,Scripting,Tcsh,我不熟悉脚本编写。当查看前雇员的R代码时,有一行他们调用命令行。我不知道如何在网上搜索该行/目的。感谢您的帮助 有问题的代码行: /folder1/folder2/folder3-s file_1_name-n file_1_name-e file_2_name>file_1_name.log 2>&1 需要注意的事项: 语法是bash(或派生自bash,2>&1),但当我使用命令行检查使用的shell时,它会显示tcsh(例如redirect&,没有数字)\ 文件名(以上)只是名称,而不是扩展
/folder1/folder2/folder3-s file_1_name-n file_1_name-e file_2_name>file_1_name.log 2>&1
需要注意的事项:语法是bash(或派生自bash,
2>&1
),但当我使用命令行检查使用的shell时,它会显示tcsh(例如redirect&
,没有数字)\
文件名(以上)只是名称,而不是扩展名。示例:一个名为“ex.sch”的文件file\u 1\u name
将是“ex”。代码行中唯一的扩展名用于生成的日志文件
这些文件是.sch文件。根据这些是示意图,尽管我高度怀疑它们是什么
我不知道如何在网上搜索该行/目的。[……]
有问题的代码行:
/folder1/folder2/folder3 -s file_1_name -n file_1_name -e file_2_name > file_1_name.log 2>&1
解释为Bash命令行,执行程序或脚本
/folder1/folder2/folder3
,向其传递六个命令行参数-s
文件名-n
文件名-e
文件名。它还将程序的标准输出和标准错误定向到工作目录中名为file\u 1\u name.log
的文件,如果该文件不存在,则创建该文件,如果存在,则替换其内容。如果命令起作用,那么folder3
实际上必须是一个常规文件或指向该文件的符号链接,而不是目录/文件夹
我们不能告诉你更多。命令行参数的重要性和程序的行为通常不会通过您提供的名称来传达。特别是,某些参数对应于您识别的文件名,并且其后缀被删除,这一事实可能有意义,但我们无法告诉您其含义
此外,您观察到
当我使用命令行检查使用了什么shell时,它会显示tcsh
毫无疑问,您已经检查了自己的默认shell是什么。这并不表示shell R将使用什么来运行命令。/folder1/folder2/folder3
可能是脚本名(因此folder3
可能不是文件夹?)。我们不可能知道任何关于文件、它们的扩展名或这个shell脚本如何处理其参数的信息。。。因为这就是他们的全部,争论。如果它们恰好对应于文件名(或接近文件名),这很方便,但我们在这里无法知道。2>&1
是bash将stderr重定向到stdout;这使得所有输出(正常stdout和异常stderr)都进入同一个输出文件。就我们所知,它们是.sch
文件这一事实是一个令人费解的问题。我不知道你的问题是什么。你的shell可能是csh,但如果你在脚本中发现这一行代码,这并不妨碍bash执行它(脚本真的是以#!/bin/tcsh
开头的,还是tcsh只是你的个人外壳?)。在Unix下,文件扩展名通常是不必要的,它只是对人的一种帮助,没有它的程序也可以工作。我不确定是否理解您的确切问题:命令是否失败?@r2evans:原来您是对的。该文件没有任何扩展名,所以我认为它是一个文件夹。对CLI来说是新手,不知道“ls”中的绿色文本命令的意思是可执行的。谢谢,这无疑有助于我更好地理解正在发生的事情;以及我可以看到什么来解决问题:)