On Sun, 31 Aug 2025 at 14:56, Tom Browder <[email protected]> wrote: > > I just added three new SSD and want to prep them for use. > > I plan to use a script to do that incrementally. Given the disks show > the following when running "lsblk -o ..." ('# ' added): > > # NAME SIZE FSTYPE MOUNTPOINT > # sda 3.6T # <= new disk sda > # sdb 465.8G > # |-sdb1 512M vfat /boot/efi > # |-sdb2 464.3G ext4 / > # `-sdb3 976M swap [SWAP] > # sdc 931.5G # <= new disk sdc > # sdd 931.5G # <= new disk sdd > > Does this bash fragment look safe for using bash vars for the first disk: > > SDX=sda > sudo parted /dev/${SDX} mklabel gpt > sudo parted -a opt /dev/${SDX} mkpart primary ext4=0% 100% > sudo mkfs.ext4 /dev/${SDX}
Hi, If you are interested in optimisation, I might mention that there's no need to call parted multiple times. Although it's 'man' page and 'info' page don't give any clear examples of usage, the 'parted' command itself is capable of executing a script of commands that is provided on its invocation line. Here's a safe, tested, minimal executable shell script example of this: ----- #!/bin/bash # display the partition table using sectors, bytes, and human units mydevice=/dev/sda myscript="unit s print free unit B print free unit compact print" parted "$mydevice" "$myscript" ----- If you want to add clarity by using line breaks between the parted script commands, the $myscript variable needs to be used unquoted as shown below: ----- #!/bin/bash # display the partition table using sectors, bytes, and human units mydevice=/dev/sda myscript=" unit s print free unit B print free unit compact print " parted "$mydevice" $myscript ----- Also, if you want to use parted commands that modify the drive, then you will likely need to disable parted's interactive prompting, to do that you will need to utilise its '-s' option as well. WARNINGS: When automating parted like this, there is a danger of destroying your system, please take care to ensure that you never accidentally modify the wrong drive. The above scripts are minimal examples to demonstrate specific points, please add safety features to ensure that your script only does exactly what you want it to do. These are not complete solutions, for brevity I have not repeated good advice that others have given you. Take care and have fun with it :)

