如何从路径中提取文件名; 我有一个文件列表.我正在使用csh shell,并安装了awk,sed,perl.
/ dfgfd/dfgdfg /文件名
应该给我
文件名
我试过basename:
find $PROJDIR -name '*.c' -o -name '*.cc' -o -name '*.h'
| xargs grep -l pattern | xargs basename
Run Code Online (Sandbox Code Playgroud)
它给了我以下错误:
basename:参数太少尝试使用`basename --help'获取更多信息.
谢谢
我正在尝试使用以下命令在Tcl中调用脚本:
exec source <script path>
Run Code Online (Sandbox Code Playgroud)
我得到了错误
couldn't execute "source": no such file or directory
Run Code Online (Sandbox Code Playgroud)
如何从tcl调用另一个脚本?
编辑:我正在运行我从办公室里的另一个人那里得到的命令.我被指示用source明确地运行"source".换句话说,我如何在Tcl中运行任何可以在cshell中运行的命令?
我刚才知道.sh文件不使用,set并且=不允许使用空格,而.csh文件中允许这样做.
是否有一些地方可以指出我能找到所有这些细微差别的地方?
如何将csh脚本的stdin重定向到python脚本的stdin?
我有一个cgi脚本,我正在用在Solaris机器上运行的csh编写.这个csh脚本是从stdin读取的python脚本的包装器(我知道,在csh中编写脚本很糟糕但在这种情况下我不得不这样做).
感谢帮助!(抱歉n00b问题!)
当我在Git存储库中时,我想有一个自定义CSH提示。如果我不在git repo中,我希望提示符看起来像这样
host_name>$
Run Code Online (Sandbox Code Playgroud)
但是当我进入Git仓库时,必须变成这样
host_name [GIT REPO ROOT DIR]>$
Run Code Online (Sandbox Code Playgroud)
我只想显示Git存储库的根目录(GIT REPO ROOT DIR),以便知道当前所在的存储库。而不是每次都使用“ pwd”。
你们对实现这一目标有任何建议吗?谢谢您的帮助
-阿尼什
对于这个csh脚本
#!/bin/csh
foreach file in (.)
echo "$file"
end
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
foreach: Words not parenthesized.
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我想编写一个脚本,根据我的输入将更改为不同的目录.这样的事情:
test.sh:
#!/bin/bash
ssh machine001 '(chdir ~/dev$1; pwd)'
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时./test.sh 2它仍然存在~/dev.似乎我的论点被忽略了.我在这做任何非常愚蠢的事吗?
我是csh的新手,正在尝试检查参数是否以“-”开头。我试过以下:
if (`echo $var | awk '{print substr($var,0,1)}'` == '-') then
Run Code Online (Sandbox Code Playgroud)
当运行带有参数“ s”的脚本时,我得到
if: Expression syntax
Run Code Online (Sandbox Code Playgroud)
当运行带有参数“ -s”的脚本时,我得到
if: Missing file name
Run Code Online (Sandbox Code Playgroud)
我也试过
if ($var =~ -*) then
Run Code Online (Sandbox Code Playgroud)
当运行带有参数“ -s”的脚本时,我得到
if: Missing file name
Run Code Online (Sandbox Code Playgroud)
's'参数保持沉默,并且不会进入if
我使用Cshell,我在oneLine中编写if else语句.
如果语句执行成功,则else将进行无限循环,并且无法退回到promt.
有什么建议可以解决吗?
/home/sun_cdmasee>if ( 25 == 25 ) then ; echo "yes" ; else echo "no" ; endif
Run Code Online (Sandbox Code Playgroud)
是
其他?
其他?
其他?
set number = $<
set n = @ $number % 2
Run Code Online (Sandbox Code Playgroud)
我是csh的新手.我只是想了解基本的东西.我收到此错误:我该set: Variable name must begin with a letter.
如何解决?