Questions tagged «sh»

/ bin / sh是POSIX shell。对于可移植性很重要的问题。如果问题与.sh文件有关,请改用`scripts'标记。在Ubuntu上,POSIX shell是到/ bin / dash的符号链接,因此[dash-shell]与[sh]标记相关,并且在标记问题时都可以使用这两个标记。


3
什么是sh -c命令?
我发现了sh -c命令。我在将其发布到这里之前就找到了它,但是找不到来自Google的任何解释它的文章,因此我想知道它是什么以及它的完整语法是什么。
30 sh 


1
Shell脚本中的$ {0%/ *}有什么作用?
很抱歉,如果这是一个愚蠢的问题,但我没有成功搜索它。 第二行到底是做什么的? #!/bin/sh cd ${0%/*} || exit 1 我知道第一个是shebang,第二个是尝试更改目录,但令人困惑的是${0%/*}。 你能解释一下第二行吗?
17 command-line  sh 

2
错误地修改了`/ bin / sh'
我有这个脚本: spd-say "Hello, don't forget the trash bin." 因此它使我想起了我应该做的事,然后将其移至/usr/local/bin/该命令,并trash发出了该参数的发音,然后我设置了一个crontab作业,使它每天都想起我想做什么。但是crontab无法正常工作,我也不明白为什么(它可以完美地完成其他工作)。 在终端中看到此消息后: You have new mail in /var/mail/root 最后,这行使我犯了一个严重错误: /bin/sh: 1: trash: not found 我知道这样做很愚蠢,但是我做到了: mv /usr/local/bin/trash /bin/sh 以为这sh是一个目录,我应该将脚本移到该目录中才能执行。 现在,当我想查看手册页时,系统会显示: “你好,别忘了垃圾桶。” 的输出cat sh是: #!/bin/bash spd-say "Hello, don't forget the trash bin. " 无论如何,我可以做什么,还是必须重新安装操作系统?
16 scripts  sh 


1
sh:0:非法选项-
当我尝试在Ubuntu中运行以下命令时: sudo -n -u contd sh --login -c ". /home/contd/iib-10.0.0.5/server/bin/mqsiprofile;/home/contd/iib-10.0.0.5/common/jdk/jre/bin/java -cp $CLASSPATH:$MQSI_JREPATH//usr/share/ant/lib/ant-antlr.jar:/usr/share/ant/lib/ant-apache-bcel.jar:/usr/share/ant/lib/ant-apache-bsf.jar:/usr/share/ant/lib/ant-apache-log4j.jar:/usr/share/ant/lib/ant-apache-oro.jar:/usr/share/ant/lib/ant-apache-regexp.jar:/usr/share/ant/lib/ant-apache-resolver.jar:/usr/share/ant/lib/ant-apache-xalan2.jar:/usr/share/ant/lib/ant-commons-logging.jar:/usr/share/ant/lib/ant-commons-net.jar:/usr/share/ant/lib/ant-javamail.jar:/usr/share/ant/lib/ant-jdepend.jar:/usr/share/ant/lib/ant-jmf.jar:/usr/share/ant/lib/ant-jsch.jar:/usr/share/ant/lib/ant-junit.jar:/usr/share/ant/lib/ant-junit4.jar:/usr/share/ant/lib/ant-launcher.jar:/usr/share/ant/lib/ant-swing.jar:/usr/share/ant/lib/ant-testutil.jar:/usr/share/ant/lib/ant.jar:/usr/share/ant/lib/jsch.jar:/usr/share/ant/lib/junit.jar -Djava.ext.dirs=/home/contd/iib-10.0.0.5/common/jdk/lib:/home/contd/iib-10.0.0.5/common/jdk/jre/lib/ext -Dant.home=/usr/share/ant org.apache.tools.ant.Main -f /home/contd/AntScript/build_main.xml" 我收到此错误: sh: 0: Illegal option -- 上面的命令应该在Linux中受支持,但是当我尝试在Ubuntu中实现相同的解决方案(Ant脚本)时,我遇到了这个问题。
10 command-line  sh 

4
临时更改/ bin / sh链接
我有一个需要/bin/shBash 的软件,但是对于Ubuntu,默认是Dash,我想保留它的默认值。我不想将其永久更改为Bash。 有没有一种方法可以仅针对正在运行的终端会话进行更改?因此,在此终端中运行的程序将看到已/bin/sh链接到bash,但系统的其余部分仍将看到Dash?还是可以欺骗该软件以使其显示/bin/sh为Bash(即使不是)? 我不是写这个软件,/bin/bash而是破解它而/bin/sh不是真正地选择。
9 command-line  bash  sh 

2
运行sh文件时权限被拒绝
我正在尝试使用sh文件轻松地通过我的Minecraft服务器控制台启动屏幕。我将此文件命名为mc.sh。我在与mc.sh相同的目录中有另一个可以正常运行的sh文件。 这是mc.sh中的内容: screen -S minecraft java -Xms1024M -Xmx1024M -jar spigot.jar nogui 这是另一个sh文件中的内容: #!/bin/sh java -Xms512M -Xmx1024M -XX:MaxPermSize=128M -jar spigot.jar 我收到的错误消息是-bash: ./mc.sh: Permission denied。对于权限mc.shARE-rw-rw-r-- 1

4
循环执行两个序列
我正在尝试在外壳程序的同一循环中遍历两个序列,如下所示: #!/bin/bash for i in (1..15) and (20..25) ; do echo $i ...... .....other process done 任何想法我怎么能做到这一点?
8 command-line  bash  sh 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.