Jika Anda berpikir Anda akan membutuhkan ini lebih sering dan tidak ingin mengetikkan path dua kali setiap kali, Anda juga dapat membuat fungsi Bash atau skrip untuk itu.
Fungsi Bash (tambahkan baris ini untuk secara terus ~/.bashrc-menerus tersedia untuk pengguna Anda, jika tidak maka akan menghilang lagi ketika Anda keluar dari terminal Anda):
Skrip Bash (simpan /usr/local/bin/touch2menggunakan sudo untuk membuatnya tersedia untuk semua pengguna, selain itu untuk pengguna ~/bin/touch2Anda saja):
dapatkah saya mengedit touch perintah asli dan menambahkan pergantian -pke sana?
MA Heshmat Khah
3
@HeshmatKhah Mungkin saja, tetapi tidak disarankan untuk membayangi executable sistem dengan skrip atau fungsi Anda sendiri. Anda dapat menggunakan nama touch-p(tanpa spasi!) Alih-alih touch2, jika Anda lebih suka "p", tetapi saya tidak akan mencoba mengganti perintah aslinya.
Byte Commander
1
Perhatikan bahwa Anda dapat menggunakan penghapusan sufiks alih-alih dirnamejuga, yaitu Anda dapat melakukannya mkdir -p "${1%/}" && touch "$1", sama seperti askubuntu.com/a/928544/295286
Sergiy Kolodyazhnyy
7
Seseorang dapat menggunakan installperintah dengan -Dflag.
bash-4.3$ install -D /dev/null mydir/one/two
bash-4.3$ tree mydir
mydir
└── one
└── two
1 directory, 1 file
bash-4.3$
Jika kami memiliki banyak file, kami mungkin ingin mempertimbangkan untuk menggunakan daftar item (perhatikan, ingatlah untuk mengutip item dengan spasi), dan beralihlah ke item tersebut:
bash-4.3$ for i in mydir/{'subdir one'/{file1,file2},'subdir 2'/{file3,file4}} ; do
> install -D /dev/null "$i"
> done
bash-4.3$ tree mydir
mydir
├── one
│ └── two
├── subdir 2
│ ├── file3
│ └── file4
└── subdir one
├── file1
└── file2
Atau sebagai alternatif dengan array:
bash-4.3$ arr=( mydir/{'subdir one'/{file1,file2},'subdir 2'/{file3,file4}} )
bash-4.3$ for i in "${arr[@]}"; do install -D /dev/null "$i"; done
bash-4.3$ tree mydir
mydir
├── one
│ └── two
├── subdir 2
│ ├── file3
│ └── file4
└── subdir one
├── file1
└── file2
Dengan pendekatan ini, file baru mendapatkan izin yang dapat dieksekusi secara default. Untuk memberikan izin yang sama dengan sentuhan, orang dapat menggunakaninstall -m 644 -D /dev/null <filepath>
ricab
1
Untuk tujuan ini, Anda dapat membuat fungsi Anda sendiri, contoh di bawah ini:
Pertama kita menyisipkan fungsi ke akhir file ~ / .bashrc menggunakan perintah echo. Fungsi -p flag in memungkinkan untuk membuat folder bersarang, seperti fldr2 dari contoh kita. Akhirnya kami memperbarui file dengan perintah sumber dan akhirnya menjalankan perintah mkfile yang baru dibuat
touch
perintah asli dan menambahkan pergantian-p
ke sana?touch-p
(tanpa spasi!) Alih-alihtouch2
, jika Anda lebih suka "p", tetapi saya tidak akan mencoba mengganti perintah aslinya.dirname
juga, yaitu Anda dapat melakukannyamkdir -p "${1%/}" && touch "$1"
, sama seperti askubuntu.com/a/928544/295286Seseorang dapat menggunakan
install
perintah dengan-D
flag.Jika kami memiliki banyak file, kami mungkin ingin mempertimbangkan untuk menggunakan daftar item (perhatikan, ingatlah untuk mengutip item dengan spasi), dan beralihlah ke item tersebut:
Atau sebagai alternatif dengan array:
sumber
install -m 644 -D /dev/null <filepath>
Untuk tujuan ini, Anda dapat membuat fungsi Anda sendiri, contoh di bawah ini:
Pertama kita menyisipkan fungsi ke akhir file ~ / .bashrc menggunakan perintah echo. Fungsi -p flag in memungkinkan untuk membuat folder bersarang, seperti fldr2 dari contoh kita. Akhirnya kami memperbarui file dengan perintah sumber dan akhirnya menjalankan perintah mkfile yang baru dibuat
sumber