Komut satırından başka bir komuta bir terminal takma adı oluşturmam ve terminalimi yeniden başlatmaya gerek kalmadan kullanmamı sağlayan basit bir komut arıyorum.Kolayca takma ad oluşturma komutu
Kullanım örneği şu şekildedir, küçük bir bash betiği oluşturdum ve bunu gist'e ekledim.
# Babel in your project
npm i json -g
npm install --save-dev babel-core babel-cli babel-preset-es2015 babel-preset-react
json -f package.json -I -e 'this.scripts.test = "mocha --compilers js:babel-core/register --recursive"'
json -f package.json -I -e 'this.babel = {}'
json -f package.json -I -e 'this.babel.presets = ["es2015", "react"]'
json -f package.json -I -e 'this.main = "./lib/index"'
json -f package.json -I -e 'this.esnext = "./src/index"'
böyle terminalden buradan çalıştırabilirsiniz: kolay yolu terminalden bir alias
oluşturmak için varsa
bash -c "$(curl -fsSL https://gist.githubusercontent.com/reggi/8035dcbdf0fb73b8c8703a4d244f15cf/raw/767ec8c2fb54b554ce122cc85953da5b277dbaf4/babel-ready.sh)"
merak ediyorum. Basit gibi birşey:
# non-POSIX-compliant function keyword used to allow dash in function name
function add-alias() {
# declare locals explicitly to prevent scope leakage
local content_line cmd
(($# == 1)) && [[ $1 ]] || {
echo "Usage: add_alias name" >&2
return 1
}
IFS= read -r content_line
# reject inputs containing newlines
content_line=${content_line%$'\n'}
if [[ $content_line = *$'\n'* ]]; then
echo "ERROR: Only one line may be provided" >&2
return 1
fi
# generate a command
printf -v cmd "alias %q=%q" "$1" "$content_line"
# eval it in the local shell, and add to the rc if that succeeds
eval "$cmd" && printf '%s\n' "$cmd" >>"$HOME/.bashrc"
}
:
add-alias babel-ready -- bash -c "$(curl -fsSL https://gist.githubusercontent.com/reggi/8035dcbdf0fb73b8c8703a4d244f15cf/raw/767ec8c2fb54b554ce122cc85953da5b277dbaf4/babel-ready.sh)"
Tam olarak add-alias'ın ne yapmasını istiyorsunuz? Takma adı .bashrc'ye eklenmeli ve geçerli kabukta kullanılabilir duruma getirilmeli, tamamen önemsiz değildir. Sadece mevcut kabukta bir takma ad oluşturması gerekiyorsa, basitçe 'takma ad kullanın', değil mi? Takma adı geçerli kabuklara eklenecekse, (işlev? Veya) takma adının kendisi olması gerekir. –
@JonathanLeffler Kalıcı bir küresel takma ad istiyorum. Tam olarak önemsiz değil, ne demek istiyorsun? – ThomasReggi
@ThomasReggi, size * en * sistem ve yapılandırmalar için çalışacak bir cevap vermek kolay olurdu, ama * her zaman * çalışacak bir cevap (ve ideal olarak idempotent, yani, bashrc dosyanızı değiştirmiyorsanız) takma ad zaten var) imkansız olan rc dosyalarınızın kod akışını ayrıştırıp anlayabilmeyi gerektirir. –