我正在尝试在文档根目录外的该文件夹中创建一个名为week7的文件夹和一个名为hello.html的html页面,并通过Alias指令查看它.
我在Document Root中创建了一个名为week7的文件夹.我为它选择了这个位置:
/usr/local/www/week7
Run Code Online (Sandbox Code Playgroud)
而我的文档根目录是:
/usr/local/www/apache22/data
Run Code Online (Sandbox Code Playgroud)
在httpd.conf和标签下,我写道:
Alias /week7 /usr/local/www/week7
<Directory /usr/local/www/week7>
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
重新启动服务器后,我收到以下消息:禁止403消息.
我尝试更改hello.html文件,week7文件夹甚至www文件夹的权限,但没有任何更改.
有任何想法吗?
我正在阅读subr.el并看到这段代码:
(defalias 'backward-delete-char 'delete-backward-char)
(defalias 'search-forward-regexp (symbol-function 're-search-forward))
Run Code Online (Sandbox Code Playgroud)
有趣的是,第一行不使用符号函数,而第二行不使用符号函数.我知道的使用defalias的这两种方式的唯一区别是,向后删除炭(第一个)的帮助下将显示这是删除后向焦炭的别名而对于搜索前进,正则表达式的帮助,没有按"吨.
有没有第二种方式比第一种方式更好的情况?
我想知道是否有可能在usr/bin(即)中创建一个导致shell脚本的"链接".
但我只想写
% shellscript
Run Code Online (Sandbox Code Playgroud)
代替
% sh shellscript.sh
Run Code Online (Sandbox Code Playgroud)
有点像别名.
这可能吗?
在我的问题的第一部分,我将提供一些背景信息作为社区服务.第二部分包含实际问题.
第一部分
假设我创建了以下别名:
alias ls='ls -r'
Run Code Online (Sandbox Code Playgroud)
我知道如何使用以下方式暂时unalias(即覆盖此别名),使用:
1)命令的完整路径名: /bin/ls
2)命令替换: $(which ls)
3)内置命令: command ls
4)双引号: "ls"
5)单引号: 'ls'
6)反斜杠字符: \ls
案例1是显而易见的,案例2只是一种变化.案例3中内置的命令旨在忽略shell函数,但显然它也可用于规避别名.最后,案例4和5与POSIX标准(2.3.1)一致:
"应检查一个被识别为简单命令的命令名字的结果字,以确定它是否是一个不带引号的有效别名."
"检查每个简单命令的第一个单词,如果没有引用,则检查它是否有别名."
第二部分
这是一个问题:为什么案例6(通过说法覆盖别名\ls)考虑引用这个词?为了与这个问题的风格保持一致,我正在寻找对"官方"文档的引用.
文档说反斜杠只转义后续字符,而不是单引号和双引号引用一系列字符. POSIX标准(2.2.1):
"未引用的反斜杠应保留以下字符的字面值,但<newline>除外"
"一个非引用的反斜杠'\'是Bash转义字符.它保留了下一个字符的字面值,除了换行符."
(顺便说一句,是不是"下一个角色"有点矫枉过正?)
一个可能的答案可能是这种情况并不那么特别:它类似于ANSI-C引用中的一些情况,例如\nnn.然而,这仍然是逸出的单个字符(八位字符,其值是八进制值NNN),而不是一个字符序列.
是否可以为目标指定不同的名称或别名,以便可以使用原始目标名称或别名来调用它.
比如像
/very/long/path/my_binary: dep_a dep_b dep_c
# Compile
# Desired command
ALIAS my_binary = /very/long/path/my_binary
# NOTE: Notice the use of 'my_binary' in the dependencies
data1: my_binary datafile
# Build data file using compiled my_binary
Run Code Online (Sandbox Code Playgroud)
我尝试过使用.PHONY目标:
.PHONY: my_binary
my_binary: /very/long/path/my_binary
Run Code Online (Sandbox Code Playgroud)
从命令行调用时,这很有用:
# Runs rule 'my_binary' and then *only* runs rule '/very/long/path/my_binary'
# if the rule '/very/long/path/my_binary' needs updating.
make my_binary
Run Code Online (Sandbox Code Playgroud)
但是,当别名my_binary列为依赖项时,这不起作用:
# *Always* thinks that rule 'data1' needs updating, because it always thinks that …Run Code Online (Sandbox Code Playgroud) 给定一个C++ 11枚举类,嵌套在几个长而丑陋的命名空间中:
namespace
long_and_ugly
{
enum class
colour
{
red,
green,
blue
};
}
Run Code Online (Sandbox Code Playgroud)
别名是否可以由枚举值组成?使用clang ++ 3.5,可以执行以下操作:
using long_and_ugly::colour; // take all the values into the current namespace
using long_and_ugly::colour::red; // take only 'red' into the current namespace
function_taking_colour_argument( red ); // instead of fully referring to the value
Run Code Online (Sandbox Code Playgroud)
然而,g ++ 4.9抱怨道.我无法复制其错误消息,因为我无法访问代码,但它明确抱怨使用using指令或声明.我也试过这个:
using red = long_and_ugly::colour::red;
Run Code Online (Sandbox Code Playgroud)
但它也失败了.对不要粘贴错误我很抱歉.不过,我相信你应该能够重现它.
是否可以在标准C++ 11中为枚举值声明别名,或者我是否使用了clang扩展?
如果是,那么正确的语法是什么?
如果这两种方法只是同义词,为什么人们会去编写附加字符" _chain"?
试图创建:
alias mcd="mkdir $1; cd $1"
Run Code Online (Sandbox Code Playgroud)
获得:
$ mcd foo
usage: mkdir [-pv] [-m mode] directory ...
-bash: foo: command not found
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我有一些Firebug控制台函数调用,我想在Firebug未启用时禁用,例如未定义控制台.这适用于IE6和FF3,但不适用于Chrome:
var log;
if(console){
log = console.log;
}else{
log = function(){ return; }
}
Run Code Online (Sandbox Code Playgroud)
我在Chrome中收到"未捕获的TypeError:非法调用"= /
我在这里读到了这个问题,你必须应用一个上下文,这对我来说是一种新的...我似乎无法想象如何在所有浏览器中完成上述操作......
我喜欢使用bash别名来自定义bash命令.有没有办法覆盖bash别名设置,或者我应该将别名重命名为与原始命令不同的东西.
例如:我的.bash_aliases包括
alias ls='ls -ltr'
Run Code Online (Sandbox Code Playgroud)
如果我只想检索文件名,是否需要将别名重命名为"ls"以外的其他名称?或者还有另一种方式吗?