- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 tcsh 中,我可以通过以下方式从路径末尾提取第二个路径元素
cd /some/long/directory/structure/path/
set x=`pwd`
echo ${x:h:h:t}
directory
如何在 bash 中执行相同的操作?
我的意思是,bash 也有这种修饰符吗?
最佳答案
csh
样式修饰符可以与历史扩展一起使用(毫不奇怪,因为历史扩展是从 csh
借用的)。
$ cd /some/long/directory/structure/path/
$ echo !!:1:h:h:t
echo directory
directory
!!:1
选择上一个命令的单词 1(从零开始计数),因此是 cd
的参数。
(echo directory
出现在标准错误上,因为 shell 默认在实际执行结果命令之前显示历史扩展的结果。)
关于bash 相当于用于提取路径组件的 tcsh 修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54596507/
我尝试将用户输入的字符串与特定模式进行匹配,确切地说,我想检查字符串是否以大写字母开头,然后以任何大写、小写字母或数字继续。我想在 tcsh 中执行此操作,我知道使用 bash 更好,但我必须使用 t
我试图在 tcsh(版本 6.12.00 (Astron) 2002-07-23)中编写一个简单的脚本,但我被 if-then-else 语法绊倒了。我对剧本写作很陌生。 这个脚本有效: #!/bin
对于问题的简化版本,请先阅读下面的 Update1。 我制作了一个 tcsh 文件,将其运行的文件夹中所有文件/文件夹的列表保存到一个文件中(我正在处理一个神经成像项目,并且我有一个包含许多主题的文件
在 tcsh 中,我试图从我的 .aliases 文件中的命令重定向 STDERR。 我发现我可以像这样从命令行重定向 STDERR。 . . $ (xemacs > /dev/tty) >& /de
我想创建一个 cd 版本,它将从目录结构中删除文件名,然后 cd 到该目录。 例如,如果我放入 (tc)shell cd /net/homes/me/myfile.jpg 它将剥离“myfile.jp
我使用标准设置安装了 anaconda3,主要使用 tcsh。如果终端在 tcsh 中打开,然后我输入“conda”,它就会工作。如果我输入“python”,它会显示 Python 2.7.10 (d
我正在尝试执行一个简单的 tcsh 脚本来查找文件夹,然后导航到该文件夹(如果存在)。该语句正确评估,但如果它评估为假,我会收到错误“then: then/endif not found”。如果它
我有一个生成文本文件的 tcsh 脚本。文本文件中的其中一行是: bla bla bla 'foo foo foo "bar bar bar"': etc etc; 注意嵌套 '和 "还有 :和 ;那
我使用 tcsh 作为我的默认 shell。但是, LS_COLORS 环境似乎不起作用。这是我的 ls 相关环境: setenv CLICOLOR "true" setenv LS_COLORS "
我正在尝试运行以下命令: replace -x "must " A2input.txt replace -x " a" -f -s ## A2input.txt replace -x to -s ##
我尝试在每次输入命令后将历史记录保存在 tcsh 中,而不是在“退出”命令后保存它。这是因为我通常会同时打开大约 10 个选项卡,之后我只是关闭终端窗口,而不是在每个选项卡中键入“exit”。结果是仅
我想在 tcsh 中使用变量来保存脚本的使用信息,因此在我的脚本中,每当我编写 echo $usage 时,它都会打印 my_script -h : -help -b : do boo 等
我正在努力尝试使用简洁的比较语句来避免一堆“if a = b or a = c or a = d or a = e”等。 相反,我尝试使用正则表达式和模式匹配,就像在 Perl 中所做的那样。 与 s
tcsh历史文件中的数字是什么意思? [root@localhost ~]# vi /home/test/.history #+1572853835 su 0- #+1572854170 histor
我的 .cshrc.user 有这一行(使用 tcsh) set prompt = "%{\033[36m%}%m%{\033[32m]%}{`echo $CLEARCASE_ROOT | cut -
tcsh 中是否有一行命令来更改一组文件的扩展名?在各种 DOS shell 中,我曾经使用以下内容: ren *.abc *.def 这会将所有以 .abc 结尾的文件重命名为以 .def 结尾。在
我正在运行 CentOS 7,但我遇到了 tcsh 脚本的问题。 我有一个名为 quittest 的简单脚本。 #!/bin/tcsh echo "Simple Test" exit 0 当我从终端运
如何查看当前版本的 tcsh 在我的 unix 终端中运行? 最佳答案 看version多变的: % echo $version tcsh 6.14.00 (Astron) 2005-03-25 (i
通过 tcsh 执行 IF 语句时遇到问题。这对我来说很好- #!/bin/bash if echo `cal|tail -6|sed -e 's/^.\{3\}//' -e 's/.\{3\}$//
在 bash 中,我获取 subshell 块的 stdout 并将其分配给一个变量,例如: $ VAL="$(ls)" 这如何在 tcsh 中完成? 最佳答案 使用反引号获取输出并使用 set将
我是一名优秀的程序员,十分优秀!