标签: shebang

我可以在Unix Perl脚本中没有shebang行吗?

我可以写一个Perl程序,我的第一行不是#!/path/吗?

谢谢.

unix perl shebang

0
推荐指数
2
解决办法
802
查看次数

相同的shebang不起作用

所以我试图创建一些我想运行的脚本,而不是每次运行时都手动指定解释器.

#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

上面是现有脚本上的shebang,它运行得像我想要的那样.

下面是我从头开始编写的脚本的shebang

#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

对我来说,他们看起来完全一样,但是运行第二个给了我一个

helloWorld.py: permission denied
Run Code Online (Sandbox Code Playgroud)

两者都是使用kate,utf-8和unix行创建的.两者都与我相同.

有任何想法吗?

python tcsh shebang

0
推荐指数
1
解决办法
155
查看次数

使用gcc编译C程序

我正在关注CUNY的一个例子,我之前从未做过任何事情,所以我可能不知道自己在做什么.

考虑下面的程序.

  1. 我是否需要使用emacs编写的C代码的shebang行?
  2. 当我使用该行进行编译时,gcc -g -o forwardadding forwardadding.c 我遇到了以下消息:

    forwardadding.c:9:17: error: expected expression before ‘<’ token
    
    Run Code Online (Sandbox Code Playgroud)
  3. 一旦我得到代码编译,我可以使用gdb调试并运行代码更正?

代码:

#include <stdio.h>
#include <math.h>

main()
{
    float sum, term;
    int i;
    sum = 0.0;
    for( i = 1; < 10000000; i++)
    {
        term = (float) i;
        term = term * term;
        term = 1 / term;
        sum += term;
    }
    printf("The sum is %.12f\n", sum);
}
Run Code Online (Sandbox Code Playgroud)

c gcc shebang

0
推荐指数
2
解决办法
3125
查看次数

Perl - 在Windows中编辑但直接在Unix shell上运行?

我在Textpad中编写了我的Perl代码(我认为它只是Windows中的avai).我通过显式调用Perl解释器在Linux cmd提示符下运行它,例如"perl script.pl".我想知道是否可以像"./script.pl"一样运行它.当我在Windows中添加shebang时,Linux提示会抱怨"找不到命令",但是如果我用Perl调用它可以正常工作,并且在dos2unix脚本之后也可以正常工作,所以问题似乎是没有被解析的shebang正确.有什么建议?为什么其余的Windows格式代码可以工作但不是shebang?

windows shell perl shebang

0
推荐指数
1
解决办法
174
查看次数

使perl脚本可执行...我可以取消前面的'perl'语句吗?

这是一个非常简单的...我只是想在没有前面的perl命令的情况下使perl脚本可执行,而是让环境从shebang行中推断出解释器.这是我的示例脚本test:

#!/usr/bin/perl
print "Hey there\n";
Run Code Online (Sandbox Code Playgroud)

然后我chmod 775 test用来使脚本可执行.如果我使用该命令perl test,我得到输出Hey there.

但是,如果我只是键入test,我没有输出.这是怎么回事?为什么我的shebang线不能让环境意识到这是perl?有人可以帮帮我吗?

unix linux perl shebang

0
推荐指数
1
解决办法
142
查看次数

更优先 - Shebang 行还是 perl 命令?

我有多个 Perl 脚本,其中 shebang 行已过时。也就是说,shebang 指向 Perl 的旧版本。

每条路径旧:

#!/data/oracle10.0/perl/bin/perl
Run Code Online (Sandbox Code Playgroud)

新版本的 Perl 已发布

#!/data/**oracle11.0**/perl/bin/perl
Run Code Online (Sandbox Code Playgroud)

我已将 perl 命令软链接到新版本 perl 的位置。

perl -> /data/oracle11.0/perl/bin/perl
Run Code Online (Sandbox Code Playgroud)

现在,shebang 指向旧版本,perl 命令指向新版本。

所以,当我这样做时perl sample.pl,shebang 就会被忽略。

我编写了一些示例脚本来查看这一点。当我使用该命令时,shebang 行似乎被忽略了perl。但我记得旧版本的 perl 并非如此(Shebang 被认为是超过perl命令的)。

所以我的问题是,新版本的 perl(5.10)和旧版本(5.8)对于 shebang 行是否有不同的行为?如果将 perl 命令传递给新版本的 Perl,它会忽略 shebang 行吗?

scripting perl shebang

0
推荐指数
1
解决办法
303
查看次数

在shebang中使用linux系统变量

我尝试将带有perl脚本的外部用户文件夹包含到我的常规perl脚本中.我如何使用linux系统变量用户($ {USER})来包含这些脚本?我试图将此变量简单地添加到脚本的第一行,但该变量未解析.

例:

#!/usr/bin/perl -I /tmp/userSpecificFolder-${USER}/anotherFolder/AndAnotherFolder/AndSoOn
Run Code Online (Sandbox Code Playgroud)

这一行的输出正是我上面写的,但它应该是

#!/usr/bin/perl -I /tmp/userSpecificFolder-CurrentUserName/anotherFolder/AndAnotherFolder/AndSoOn
Run Code Online (Sandbox Code Playgroud)

linux perl shebang

0
推荐指数
1
解决办法
100
查看次数

Python shebang 不工作

Python安装在:

C:/Python/Python35
Run Code Online (Sandbox Code Playgroud)

在我的程序的顶部,我放了:

#!/usr/bin/env python3
Run Code Online (Sandbox Code Playgroud)

我打开 Windows 命令提示符并输入:

./words.py
Run Code Online (Sandbox Code Playgroud)

我得到的消息是:

"." is not recognized
Run Code Online (Sandbox Code Playgroud)

有人告诉我这在 Windows 上应该很好用,所以我很困惑?

python windows cmd shebang python-3.x

0
推荐指数
1
解决办法
5463
查看次数

ZSH 仅循环数组的第一项

#/bin/zsh
servers=('10.138.0.8' '10.138.0.91')

for srv in $servers; do
   echo "Checking health for " $srv
   echo "=========================================="
   echo mntr | nc $srv 2181 
done
Run Code Online (Sandbox Code Playgroud)

当我执行时,我没有循环第二个值10.138.0.91,如下所示

[devops@devops]~% ./healthcheck/zookeeper.sh  
Checking health for  10.138.0.8
==========================================
zk_version      3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
zk_avg_latency  0
zk_max_latency  0
zk_min_latency  0
zk_packets_received     9
zk_packets_sent 8
zk_num_alive_connections        1
zk_outstanding_requests 0
zk_server_state follower
zk_znode_count  4
zk_watch_count  0
zk_ephemerals_count     0
zk_approximate_data_size        27
zk_open_file_descriptor_count   28
zk_max_file_descriptor_count    4096
Run Code Online (Sandbox Code Playgroud)

为什么?

unix shell scripting zsh shebang

0
推荐指数
1
解决办法
559
查看次数

make#!/ usr/bin/env python -u shebang portable

我有这个非便携式的shebang:

#!/usr/bin/env python -u
Run Code Online (Sandbox Code Playgroud)

它不可移植,因为python -u它作为一个单独的arg馈送到env我的系统上.

挑战:让这个shebang便携式只改变shebang - 也就是说一个单线.

换句话说,没有解决方案

python shebang

-1
推荐指数
1
解决办法
804
查看次数

关于python“#!usr/bin/env python”?

我把“ #!usr/bin/env python”放在coroutine.py的第一行,但是当我尝试通过“ ./test.py”直接运行coroutine.py时,我得到了这个:

zsh: ./coroutine.py: bad interpreter: usr/bin/env: no such file or directory

我的 zshrc 有什么问题吗?

python linux zsh shebang

-1
推荐指数
1
解决办法
701
查看次数

标签 统计

shebang ×11

perl ×5

python ×4

linux ×3

unix ×3

scripting ×2

shell ×2

windows ×2

zsh ×2

c ×1

cmd ×1

gcc ×1

python-3.x ×1

tcsh ×1