我最近添加了
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
到我的bash_aliases文件。玩弄这个,我注意到虽然允许别名..
,但是别名.
却没有。 bash别名中允许使用哪些其他标点字符?
答案 0 :(得分:4)
根据following环境变量,名称只能包含
大写字母,数字和' _' (下划线)来自 便携式字符集中定义的字符,不以a开头 数字。实现可以允许其他字符; 申请应容忍这些名称的存在。
但变量与别名名称的确不完全相同。
实际上,-
(短划线)应添加到列表中,因为它是debian(apt-get
)中的事实标准。另外_~!@#$%^.,[]+/?
所有工作和><'"|=()backtick
。别&#39;吨。此外,您还需要担心$PATH
和:
等字符。如果它们被正确转义或引用"a b"
,则空间和换行符可能会起作用。
答案 1 :(得分:4)
Bash别名绝对不能包含以下字符:空格@RestController
@RequestMapping("/v4/slm/partners/sites/import")
@Api(value = "Site Bulk Upload Service")
@Slf4j
@Validated
public class PartnerSiteLoadController {
private PartnerSiteUploadService partnerSiteUploadService;
@Autowired
public PartnerSiteLoadController(PartnerSiteUploadService partnerSiteUploadService) {
this.partnerSiteUploadService = partnerSiteUploadService;
}
@PostMapping(value = "", headers = ("content-type=multipart/*"))
@ApiOperation(value = "Import sites in bulk")
public ResponseEntity<BulkUploadResponseDTO> uploadSitesInBulk(@RequestParam("file") MultipartFile excelFile, HttpServletRequest request){
UserPrincipal userPrincipal = (UserPrincipal) request.getAttribute("userPrincipal");
String userId = userPrincipal.getId();
log.info("Received excel file with name {}......",excelFile.getOriginalFilename());
if(!excelFile.isEmpty()){
return ResponseEntity.status(HttpStatus.CREATED).body(partnerSiteUploadService.uploadSitesInBulk(userId,excelFile));
}
else{
throw new BadRequestException("Received empty excel file");
}
}
,制表符,换行符
\t
,\n
,/
,$
, `
,=
,|
,&
,;
,(
,)
,<
,{{ 1}}和>
。
bash https://www.gnu.org/software/bash/manual/html_node/Aliases.html的GNU手册说:
上面列出的字符
'
,"
,/
,$
和任何shell元字符或引号字符可能不会出现在别名中。
“外壳元字符”在https://www.gnu.org/software/bash/manual/html_node/Definitions.html中定义为
一个字符,当不加引号时,将单词分开。元字符是
`
,=
,space
或以下字符之一:tab
,newline
,|
,{{1 }},&
,;
或(
。
我找不到“引号” https://www.gnu.org/software/bash/manual/html_node/Quoting.html的列表。据我所知,它们是单引号)
和双引号<
。
答案 2 :(得分:2)
https://www.gnu.org/software/bash/manual/html_node/Aliases.html 我不会在linux中命名别名..是当前导演的特殊名称,而...是父目录。可能有一些模糊的过程可能会被别名搞砸..对于cd
答案 3 :(得分:2)
使用函数总是更安全:
function .. { cd '..'; }
function ... { cd '../..'; }
function .... { cd '../../..'; }
或者保守的偏好:
..() { cd '..'; }
...() { cd '../..'; }
....() { cd '../../..'; }