我最近开始研究shell脚本,我希望能够在shell脚本中注释掉一组行.我的意思是在C/Java的情况下:
/* comment1
comment2
comment3
*/`
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
在bash中有"goto"声明吗?我知道这被认为是不好的做法,但我需要特别"goto".
任何人都可以建议如何评论除shell脚本之外的特定行#吗?
假设我要评论五行.而不是添加#到每一行,有没有其他方式来评论五行?
我想知道是否有办法在shell脚本中注释掉一组行.我怎么能这样做?我们可以在其他编程语言中使用/**/.当我转换/使用/修改另一个脚本并且我想保留原始行而不是删除时,这是最有用的.
对于未使用的所有行,查找和前缀#似乎是一项繁琐的工作.
可以说脚本中有100行代表不使用的行.我想一次性评论它们.那可能吗?
我有一个shell脚本,需要非root用户帐户才能运行某些命令,然后将用户更改为root以运行脚本的其余部分.我正在使用SUSE11.我用expect期望自动化密码提示.但是当我使用spawn su - 并且命令被执行时,提示符将以root身份返回,并且脚本的其余部分不会执行.
例如.
< non-root commands>
spawn su -
<root commands>
Run Code Online (Sandbox Code Playgroud)
但在su之后 - 提示以root身份返回用户.如何执行剩余的脚本.
sudo -S选项没有帮助,因为它没有运行sudo -S ifconfig命令,我需要找到机器的IP地址.
我已经浏览了这些链接但找不到解决方案: 在shell脚本中将脚本目录更改为用户的homedir
我找到了一个很好的答案,如何在bash脚本中评论(由@ sunny256):
Run Code Online (Sandbox Code Playgroud)#!/bin/bash echo before comment : <<'END' bla bla blurfl END echo after comment在
'和'周围的END分隔符是重要的,否则里面的东西例如像块$(command)将被解析并执行.
这可能很难看,但它有效,我很想知道这意味着什么.有人可以解释一下吗?我确实找到了一个解释:,它是无操作或真实的.但是无论如何我打电话给无操作或真实都没有意义....
在vi中,如果是指定的字符,如何从第一行替换或删除第一个字符#.
line 1
...
...
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
#}
...
end of line
Run Code Online (Sandbox Code Playgroud)